radv: Rename stack_base to stack_low_watermark.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 11 Dec 2022 15:10:17 +0000 (16:10 +0100)
committerMarge Bot <emma+marge@anholt.net>
Sun, 11 Dec 2022 18:51:29 +0000 (18:51 +0000)
Better covers the purpose.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20265>

src/amd/vulkan/radv_nir_lower_ray_queries.c
src/amd/vulkan/radv_rt_common.c
src/amd/vulkan/radv_rt_common.h
src/amd/vulkan/radv_rt_shader.c

index 7063058..de2bc07 100644 (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),
index eeda81a..d1eff47 100644 (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);
index cb38534..351fd27 100644 (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;
 
index 292373c..ab66657 100644 (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),