radv: Rename stack_base to stack_low_watermark.

Better covers the purpose.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20265>
This commit is contained in:
Bas Nieuwenhuizen
2022-12-11 16:10:17 +01:00
committed by Marge Bot
parent b0a6e0e174
commit f0d6a1a685
4 changed files with 19 additions and 17 deletions
+6 -6
View File
@@ -142,7 +142,7 @@ struct ray_query_traversal_vars {
rq_variable *bvh_base;
rq_variable *stack;
rq_variable *top_stack;
rq_variable *stack_base;
rq_variable *stack_low_watermark;
rq_variable *current_node;
rq_variable *previous_node;
rq_variable *instance_top_node;
@@ -202,8 +202,8 @@ init_ray_query_traversal_vars(void *ctx, nir_shader *shader, unsigned array_leng
rq_variable_create(ctx, shader, array_length, glsl_uint_type(), VAR_NAME("_stack"));
result.top_stack =
rq_variable_create(ctx, shader, array_length, glsl_uint_type(), VAR_NAME("_top_stack"));
result.stack_base =
rq_variable_create(ctx, shader, array_length, glsl_uint_type(), VAR_NAME("_stack_base"));
result.stack_low_watermark = rq_variable_create(ctx, shader, array_length, glsl_uint_type(),
VAR_NAME("_stack_low_watermark"));
result.current_node =
rq_variable_create(ctx, shader, array_length, glsl_uint_type(), VAR_NAME("_current_node"));
result.previous_node =
@@ -405,13 +405,13 @@ lower_rq_initialize(nir_builder *b, nir_ssa_def *index, nir_intrinsic_instr *ins
if (vars->stack) {
rq_store_var(b, index, vars->trav.stack, nir_imm_int(b, 0), 0x1);
rq_store_var(b, index, vars->trav.stack_base, nir_imm_int(b, 0), 0x1);
rq_store_var(b, index, vars->trav.stack_low_watermark, nir_imm_int(b, 0), 0x1);
} else {
nir_ssa_def *base_offset =
nir_imul_imm(b, nir_load_local_invocation_index(b), sizeof(uint32_t));
base_offset = nir_iadd_imm(b, base_offset, vars->shared_base);
rq_store_var(b, index, vars->trav.stack, base_offset, 0x1);
rq_store_var(b, index, vars->trav.stack_base, base_offset, 0x1);
rq_store_var(b, index, vars->trav.stack_low_watermark, base_offset, 0x1);
}
}
nir_push_else(b, NULL);
@@ -633,7 +633,7 @@ lower_rq_proceed(nir_builder *b, nir_ssa_def *index, struct ray_query_vars *vars
.bvh_base = rq_deref_var(b, index, vars->trav.bvh_base),
.stack = rq_deref_var(b, index, vars->trav.stack),
.top_stack = rq_deref_var(b, index, vars->trav.top_stack),
.stack_base = rq_deref_var(b, index, vars->trav.stack_base),
.stack_low_watermark = rq_deref_var(b, index, vars->trav.stack_low_watermark),
.current_node = rq_deref_var(b, index, vars->trav.current_node),
.previous_node = rq_deref_var(b, index, vars->trav.previous_node),
.instance_top_node = rq_deref_var(b, index, vars->trav.instance_top_node),
+5 -4
View File
@@ -580,7 +580,7 @@ radv_build_ray_traversal(struct radv_device *device, nir_builder *b,
}
nir_pop_if(b, NULL);
nir_push_if(b, nir_ige(b, nir_load_deref(b, args->vars.stack_base),
nir_push_if(b, nir_ige(b, nir_load_deref(b, args->vars.stack_low_watermark),
nir_load_deref(b, args->vars.stack)));
{
nir_ssa_def *prev = nir_load_deref(b, args->vars.previous_node);
@@ -720,11 +720,12 @@ radv_build_ray_traversal(struct radv_device *device, nir_builder *b,
nir_iadd_imm(b, stack, args->stack_stride), 1);
if (i == 1) {
nir_ssa_def *new_base =
nir_ssa_def *new_watermark =
nir_iadd_imm(b, nir_load_deref(b, args->vars.stack),
-args->stack_entries * args->stack_stride);
new_base = nir_imax(b, nir_load_deref(b, args->vars.stack_base), new_base);
nir_store_deref(b, args->vars.stack_base, new_base, 0x1);
new_watermark = nir_imax(
b, nir_load_deref(b, args->vars.stack_low_watermark), new_watermark);
nir_store_deref(b, args->vars.stack_low_watermark, new_watermark, 0x1);
}
nir_pop_if(b, NULL);
+3 -2
View File
@@ -113,11 +113,12 @@ struct radv_ray_traversal_vars {
nir_deref_instr *bvh_base;
/* stack is the current stack pointer/index. top_stack is the pointer/index that marks the end of
* traversal for the current BLAS/TLAS. stack_base is the low watermark of the short stack.
* traversal for the current BLAS/TLAS. stack_low_watermark is the low watermark of the short
* stack.
*/
nir_deref_instr *stack;
nir_deref_instr *top_stack;
nir_deref_instr *stack_base;
nir_deref_instr *stack_low_watermark;
nir_deref_instr *current_node;
+5 -5
View File
@@ -1023,7 +1023,7 @@ struct rt_traversal_vars {
nir_variable *bvh_base;
nir_variable *stack;
nir_variable *top_stack;
nir_variable *stack_base;
nir_variable *stack_low_watermark;
nir_variable *current_node;
nir_variable *previous_node;
nir_variable *instance_top_node;
@@ -1051,8 +1051,8 @@ init_traversal_vars(nir_builder *b)
nir_variable_create(b->shader, nir_var_shader_temp, glsl_uint_type(), "traversal_stack_ptr");
ret.top_stack = nir_variable_create(b->shader, nir_var_shader_temp, glsl_uint_type(),
"traversal_top_stack_ptr");
ret.stack_base =
nir_variable_create(b->shader, nir_var_shader_temp, glsl_uint_type(), "traversal_stack_base");
ret.stack_low_watermark = nir_variable_create(b->shader, nir_var_shader_temp, glsl_uint_type(),
"traversal_stack_low_watermark");
ret.current_node =
nir_variable_create(b->shader, nir_var_shader_temp, glsl_uint_type(), "current_node;");
ret.previous_node =
@@ -1327,7 +1327,7 @@ build_traversal_shader(struct radv_device *device,
nir_store_var(&b, trav_vars.stack,
nir_imul_imm(&b, nir_load_local_invocation_index(&b), sizeof(uint32_t)), 1);
nir_store_var(&b, trav_vars.stack_base, nir_load_var(&b, trav_vars.stack), 1);
nir_store_var(&b, trav_vars.stack_low_watermark, nir_load_var(&b, trav_vars.stack), 1);
nir_store_var(&b, trav_vars.current_node, nir_imm_int(&b, RADV_BVH_ROOT_NODE), 0x1);
nir_store_var(&b, trav_vars.previous_node, nir_imm_int(&b, RADV_BVH_INVALID_NODE), 0x1);
nir_store_var(&b, trav_vars.instance_top_node, nir_imm_int(&b, RADV_BVH_INVALID_NODE), 0x1);
@@ -1344,7 +1344,7 @@ build_traversal_shader(struct radv_device *device,
.bvh_base = nir_build_deref_var(&b, trav_vars.bvh_base),
.stack = nir_build_deref_var(&b, trav_vars.stack),
.top_stack = nir_build_deref_var(&b, trav_vars.top_stack),
.stack_base = nir_build_deref_var(&b, trav_vars.stack_base),
.stack_low_watermark = nir_build_deref_var(&b, trav_vars.stack_low_watermark),
.current_node = nir_build_deref_var(&b, trav_vars.current_node),
.previous_node = nir_build_deref_var(&b, trav_vars.previous_node),
.instance_top_node = nir_build_deref_var(&b, trav_vars.instance_top_node),