radv: Replace is_rt_shader with RADV_SHADER_TYPE_RT_PROLOG

The flag was only used for identifying the rt prolog.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28619>
This commit is contained in:
Konstantin Seurer
2024-03-03 13:37:15 +01:00
committed by Marge Bot
parent 272dcaff01
commit 1038f48dd1
4 changed files with 3 additions and 6 deletions

View File

@@ -2911,7 +2911,7 @@ radv_create_rt_prolog(struct radv_device *device)
info.wave_size = pdev->rt_wave_size; info.wave_size = pdev->rt_wave_size;
info.workgroup_size = info.wave_size; info.workgroup_size = info.wave_size;
info.user_data_0 = R_00B900_COMPUTE_USER_DATA_0; info.user_data_0 = R_00B900_COMPUTE_USER_DATA_0;
info.cs.is_rt_shader = true; info.type = RADV_SHADER_TYPE_RT_PROLOG;
info.cs.uses_dynamic_rt_callable_stack = true; info.cs.uses_dynamic_rt_callable_stack = true;
info.cs.block_size[0] = 8; info.cs.block_size[0] = 8;
info.cs.block_size[1] = pdev->rt_wave_size == 64 ? 8 : 4; info.cs.block_size[1] = pdev->rt_wave_size == 64 ? 8 : 4;

View File

@@ -560,7 +560,7 @@ declare_shader_args(const struct radv_device *device, const struct radv_graphics
add_ud_arg(args, 2, AC_ARG_CONST_PTR, &args->ac.num_work_groups, AC_UD_CS_GRID_SIZE); add_ud_arg(args, 2, AC_ARG_CONST_PTR, &args->ac.num_work_groups, AC_UD_CS_GRID_SIZE);
} }
if (info->cs.is_rt_shader) { if (info->type == RADV_SHADER_TYPE_RT_PROLOG) {
add_ud_arg(args, 2, AC_ARG_CONST_DESC_PTR, &args->ac.rt.sbt_descriptors, AC_UD_CS_SBT_DESCRIPTORS); add_ud_arg(args, 2, AC_ARG_CONST_DESC_PTR, &args->ac.rt.sbt_descriptors, AC_UD_CS_SBT_DESCRIPTORS);
add_ud_arg(args, 2, AC_ARG_CONST_PTR, &args->ac.rt.traversal_shader_addr, AC_UD_CS_TRAVERSAL_SHADER_ADDR); add_ud_arg(args, 2, AC_ARG_CONST_PTR, &args->ac.rt.traversal_shader_addr, AC_UD_CS_TRAVERSAL_SHADER_ADDR);
add_ud_arg(args, 2, AC_ARG_CONST_PTR, &args->ac.rt.launch_size_addr, AC_UD_CS_RAY_LAUNCH_SIZE_ADDR); add_ud_arg(args, 2, AC_ARG_CONST_PTR, &args->ac.rt.launch_size_addr, AC_UD_CS_RAY_LAUNCH_SIZE_ADDR);

View File

@@ -301,9 +301,6 @@ gather_intrinsic_info(const nir_shader *nir, const nir_intrinsic_instr *instr, s
case nir_intrinsic_store_output: case nir_intrinsic_store_output:
gather_intrinsic_store_output_info(nir, instr, info, consider_force_vrs); gather_intrinsic_store_output_info(nir, instr, info, consider_force_vrs);
break; break;
case nir_intrinsic_load_sbt_base_amd:
info->cs.is_rt_shader = true;
break;
case nir_intrinsic_load_rt_dynamic_callable_stack_base_amd: case nir_intrinsic_load_rt_dynamic_callable_stack_base_amd:
info->cs.uses_dynamic_rt_callable_stack = true; info->cs.uses_dynamic_rt_callable_stack = true;
break; break;

View File

@@ -28,6 +28,7 @@ enum radv_shader_type {
RADV_SHADER_TYPE_DEFAULT = 0, RADV_SHADER_TYPE_DEFAULT = 0,
RADV_SHADER_TYPE_GS_COPY, RADV_SHADER_TYPE_GS_COPY,
RADV_SHADER_TYPE_TRAP_HANDLER, RADV_SHADER_TYPE_TRAP_HANDLER,
RADV_SHADER_TYPE_RT_PROLOG,
}; };
struct radv_vs_output_info { struct radv_vs_output_info {
@@ -218,7 +219,6 @@ struct radv_shader_info {
bool uses_local_invocation_idx; bool uses_local_invocation_idx;
unsigned block_size[3]; unsigned block_size[3];
bool is_rt_shader;
bool uses_dynamic_rt_callable_stack; bool uses_dynamic_rt_callable_stack;
bool uses_rt; bool uses_rt;
bool uses_full_subgroups; bool uses_full_subgroups;