From 893910b3535f4fd51267c39514cc78622ebd91a6 Mon Sep 17 00:00:00 2001 From: Friedrich Vock Date: Sun, 15 Jan 2023 21:54:50 +0100 Subject: [PATCH] radv/rt: Divide by the correct workgroup size Improves build performance by around 25%. Fixes: 9369b407 ("radv: Use PLOC for BVH building") Part-of: (cherry picked from commit eab2c3995132f8cd1e3e9ee56eedaf17448aa157) --- .pick_status.json | 2 +- src/amd/vulkan/radv_acceleration_structure.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index c197791cc05..abb45ef79b1 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5098,7 +5098,7 @@ "description": "radv/rt: Divide by the correct workgroup size", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "9369b407250b089d54e2247a7c8c10c65188c551" }, diff --git a/src/amd/vulkan/radv_acceleration_structure.c b/src/amd/vulkan/radv_acceleration_structure.c index 7efb9e91669..b4caaf0bd0a 100644 --- a/src/amd/vulkan/radv_acceleration_structure.c +++ b/src/amd/vulkan/radv_acceleration_structure.c @@ -757,7 +757,8 @@ ploc_build_internal(VkCommandBuffer commandBuffer, uint32_t infoCount, radv_CmdPushConstants(commandBuffer, cmd_buffer->device->meta_state.accel_struct_build.ploc_p_layout, VK_SHADER_STAGE_COMPUTE_BIT, 0, sizeof(consts), &consts); - radv_CmdDispatch(commandBuffer, MAX2(DIV_ROUND_UP(bvh_states[i].node_count, 64), 1), 1, 1); + radv_CmdDispatch(commandBuffer, + MAX2(DIV_ROUND_UP(bvh_states[i].node_count, PLOC_WORKGROUP_SIZE), 1), 1, 1); } }