Module: Mesa Branch: main Commit: 2792d012d24028b98abf31894a3d4931e868565b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2792d012d24028b98abf31894a3d4931e868565b
Author: Konstantin Seurer <[email protected]> Date: Thu Jan 19 22:02:22 2023 +0100 radv/bvh/encode: Introduce is_root_node Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20818> --- src/amd/vulkan/bvh/encode.comp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/bvh/encode.comp b/src/amd/vulkan/bvh/encode.comp index e7a95142990..877e6e23e63 100644 --- a/src/amd/vulkan/bvh/encode.comp +++ b/src/amd/vulkan/bvh/encode.comp @@ -154,7 +154,8 @@ main() radv_ir_box_node src = DEREF(src_node); uint32_t dst_node_offset = dst_internal_offset + global_id * SIZEOF(radv_bvh_box32_node); - if (global_id == DEREF(args.header).ir_internal_node_count - 1) + 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)); @@ -165,7 +166,7 @@ main() memoryBarrier(gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsAcquireRelease | gl_SemanticsMakeAvailable | gl_SemanticsMakeVisible); - uint32_t bvh_offset = node_id == RADV_BVH_ROOT_NODE ? id_to_offset(RADV_BVH_ROOT_NODE) : DEREF(src_node).bvh_offset; + uint32_t bvh_offset = is_root_node ? id_to_offset(RADV_BVH_ROOT_NODE) : DEREF(src_node).bvh_offset; if (bvh_offset == RADV_UNKNOWN_BVH_OFFSET) continue; @@ -273,7 +274,7 @@ main() break; } - if (global_id == DEREF(args.header).ir_internal_node_count - 1) { + if (is_root_node) { REF(radv_accel_struct_header) header = REF(radv_accel_struct_header)(args.output_bvh - args.output_bvh_offset); DEREF(header).aabb = src.base.aabb; DEREF(header).bvh_offset = args.output_bvh_offset;
