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

Author: Konstantin Seurer <[email protected]>
Date:   Sat Feb 25 16:36:41 2023 +0100

radv: Only init geometry infos if RRA is enabled

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

---

 src/amd/vulkan/radv_acceleration_structure.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/amd/vulkan/radv_acceleration_structure.c 
b/src/amd/vulkan/radv_acceleration_structure.c
index 147610c4df7..064f25c6334 100644
--- a/src/amd/vulkan/radv_acceleration_structure.c
+++ b/src/amd/vulkan/radv_acceleration_structure.c
@@ -175,9 +175,10 @@ get_build_layout(struct radv_device *device, uint32_t 
leaf_count,
       uint32_t offset = 0;
       offset += sizeof(struct radv_accel_struct_header);
 
-      accel_struct->geometry_info_offset = offset;
-      offset += sizeof(struct radv_accel_struct_geometry_info) * 
build_info->geometryCount;
-
+      if (device->rra_trace.accel_structs) {
+         accel_struct->geometry_info_offset = offset;
+         offset += sizeof(struct radv_accel_struct_geometry_info) * 
build_info->geometryCount;
+      }
       /* Parent links, which have to go directly before bvh_offset as we index 
them using negative
        * offsets from there. */
       offset += bvh_size / 64 * 4;
@@ -1157,7 +1158,8 @@ radv_CmdBuildAccelerationStructuresKHR(
 
    init_header(commandBuffer, infoCount, pInfos, bvh_states);
 
-   init_geometry_infos(commandBuffer, infoCount, pInfos, bvh_states, 
ppBuildRangeInfos);
+   if (cmd_buffer->device->rra_trace.accel_structs)
+      init_geometry_infos(commandBuffer, infoCount, pInfos, bvh_states, 
ppBuildRangeInfos);
 
    free(bvh_states);
    radv_meta_restore(&saved_state, cmd_buffer);

Reply via email to