From c82ff056395d92de48b42c3983b0c5cd8b4ac317 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 11 Dec 2024 17:40:45 +0000 Subject: [PATCH] Unwrap AS push updates --- .../driver/vulkan/wrappers/vk_cmd_funcs.cpp | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index 1bb88c661..9230c74b5 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -5607,6 +5607,23 @@ bool WrappedVulkan::Serialise_vkCmdPushDescriptorSetKHR(SerialiserType &ser, pImageInfo[d].imageView = Unwrap(pImageInfo[d].imageView); pImageInfo[d].sampler = Unwrap(pImageInfo[d].sampler); } + + if(writes[i].pNext) + { + VkBaseInStructure *next = (VkBaseInStructure *)writes[i].pNext; + if(next->sType == VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR) + { + VkWriteDescriptorSetAccelerationStructureKHR *accWrite = + (VkWriteDescriptorSetAccelerationStructureKHR *)next; + VkAccelerationStructureKHR *as = + (VkAccelerationStructureKHR *)accWrite->pAccelerationStructures; + + for(uint32_t a = 0; a < accWrite->accelerationStructureCount; a++) + { + as[a] = Unwrap(as[a]); + } + } + } } } @@ -5898,6 +5915,23 @@ bool WrappedVulkan::Serialise_vkCmdPushDescriptorSetWithTemplateKHR( pImageInfo[d].imageView = Unwrap(pImageInfo[d].imageView); pImageInfo[d].sampler = Unwrap(pImageInfo[d].sampler); } + + if(writes[i].pNext) + { + VkBaseInStructure *next = (VkBaseInStructure *)writes[i].pNext; + if(next->sType == VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR) + { + VkWriteDescriptorSetAccelerationStructureKHR *accWrite = + (VkWriteDescriptorSetAccelerationStructureKHR *)next; + VkAccelerationStructureKHR *as = + (VkAccelerationStructureKHR *)accWrite->pAccelerationStructures; + + for(uint32_t a = 0; a < accWrite->accelerationStructureCount; a++) + { + as[a] = Unwrap(as[a]); + } + } + } } }