From 53fe6f108465131e6d5ed4e66ab38cdbaca4595c Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Sat, 30 Apr 2022 23:53:43 +0200 Subject: [PATCH] radv: Use the entire morton code as sort key Fixes: be57b08 <"radv: Build accaleration structures using LBVH"> Signed-off-by: Konstantin Seurer Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_acceleration_structure.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_acceleration_structure.c b/src/amd/vulkan/radv_acceleration_structure.c index 00c79604af5..bb3d0c33022 100644 --- a/src/amd/vulkan/radv_acceleration_structure.c +++ b/src/amd/vulkan/radv_acceleration_structure.c @@ -1489,10 +1489,11 @@ build_morton_shader(struct radv_device *dev) nir_ssa_def *morton_code = nir_iadd( &b, nir_iadd(&b, nir_ishl_imm(&b, x_morton, 2), nir_ishl_imm(&b, y_morton, 1)), z_morton); + nir_ssa_def *key = nir_ishl_imm(&b, morton_code, 8); nir_ssa_def *dst_addr = nir_iadd( &b, scratch_addr, nir_u2u64(&b, id_to_morton_offset(&b, global_id, dev->physical_device))); - nir_build_store_global(&b, morton_code, dst_addr, .align_mul = 4); + nir_build_store_global(&b, key, dst_addr, .align_mul = 4); return b.shader; }