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:
committed by
Marge Bot
parent
b0a6e0e174
commit
f0d6a1a685
@@ -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),
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user