Module: Mesa
Branch: main
Commit: da4f498f6f1d3cf2f239cb3b0537a52e9f9c5b04
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=da4f498f6f1d3cf2f239cb3b0537a52e9f9c5b04

Author: Konstantin Seurer <[email protected]>
Date:   Thu Jan 19 22:10:24 2023 +0100

radv/bvh/encoder: Move dst_node initialization into the loop

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

---

 src/amd/vulkan/bvh/encode.comp | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/amd/vulkan/bvh/encode.comp b/src/amd/vulkan/bvh/encode.comp
index 877e6e23e63..8145c861552 100644
--- a/src/amd/vulkan/bvh/encode.comp
+++ b/src/amd/vulkan/bvh/encode.comp
@@ -153,13 +153,7 @@ main()
    REF(radv_ir_box_node) src_node = INDEX(radv_ir_box_node, 
intermediate_internal_nodes, global_id);
    radv_ir_box_node src = DEREF(src_node);
 
-  uint32_t dst_node_offset = dst_internal_offset + global_id * 
SIZEOF(radv_bvh_box32_node);
    bool is_root_node = global_id == DEREF(args.header).ir_internal_node_count 
- 1;
-   if (is_root_node)
-      dst_node_offset = id_to_offset(RADV_BVH_ROOT_NODE);
-
-   REF(radv_bvh_box32_node) dst_node = 
REF(radv_bvh_box32_node)(OFFSET(args.output_bvh, dst_node_offset));
-   uint32_t node_id = pack_node_id(dst_node_offset, radv_bvh_node_box32);
 
    for (;;) {
       /* Make changes to the current node's BVH offset value visible. */
@@ -173,6 +167,9 @@ main()
       if (bvh_offset == RADV_NULL_BVH_OFFSET)
          break;
 
+      REF(radv_bvh_box32_node) dst_node = 
REF(radv_bvh_box32_node)(OFFSET(args.output_bvh, bvh_offset));
+      uint32_t node_id = pack_node_id(bvh_offset, radv_bvh_node_box32);
+
       uint32_t found_child_count = 0;
       uint32_t children[4] = {RADV_BVH_INVALID_NODE, RADV_BVH_INVALID_NODE,
                               RADV_BVH_INVALID_NODE, RADV_BVH_INVALID_NODE};

Reply via email to