diff options
Diffstat (limited to 'tools/gfx/vulkan/vk-shader-object.cpp')
| -rw-r--r-- | tools/gfx/vulkan/vk-shader-object.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/gfx/vulkan/vk-shader-object.cpp b/tools/gfx/vulkan/vk-shader-object.cpp index eaee69edb..58cb23f22 100644 --- a/tools/gfx/vulkan/vk-shader-object.cpp +++ b/tools/gfx/vulkan/vk-shader-object.cpp @@ -504,7 +504,6 @@ void ShaderObjectImpl::writeAccelerationStructureDescriptor( static_cast<AccelerationStructureImpl*>(resourceViews[i].Ptr()); VkWriteDescriptorSetAccelerationStructureKHR writeAS = {}; writeAS.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR; - VkAccelerationStructureKHR nullHandle = VK_NULL_HANDLE; if (accelerationStructure) { writeAS.accelerationStructureCount = 1; @@ -512,6 +511,12 @@ void ShaderObjectImpl::writeAccelerationStructureDescriptor( } else { + // The Vulkan spec states: If the nullDescriptor feature is not enabled, each element of + // pAccelerationStructures must not be VK_NULL_HANDLE + SLANG_ASSERT( + context.device->m_api.m_extendedFeatures.robustness2Features.nullDescriptor); + + static const VkAccelerationStructureKHR nullHandle = VK_NULL_HANDLE; writeAS.accelerationStructureCount = 1; writeAS.pAccelerationStructures = &nullHandle; } |
