diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSet.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSet.cpp index 83b7ddfe3d1a..45271f6aaeef 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSet.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSet.cpp @@ -372,7 +372,7 @@ namespace AZ // acceleration structure descriptor is added as the pNext in the VkWriteDescriptorSet VkWriteDescriptorSetAccelerationStructureKHR writeAccelerationStructure = {}; writeAccelerationStructure.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR; - writeAccelerationStructure.accelerationStructureCount = 1; + writeAccelerationStructure.accelerationStructureCount = interval.m_max - interval.m_min; writeAccelerationStructure.pAccelerationStructures = updateData.m_accelerationStructures.data() + interval.m_min; writeAccelerationStructureDescs.push_back(AZStd::move(writeAccelerationStructure)); @@ -416,6 +416,7 @@ namespace AZ case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: unboundedArraySize = aznumeric_cast(updateData.m_bufferViewsInfo.size()); break; case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSetLayout.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSetLayout.cpp index 23cda98b7a62..b13e5528df14 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSetLayout.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/DescriptorSetLayout.cpp @@ -380,6 +380,9 @@ namespace AZ case RHI::ShaderInputBufferType::Typed: vbinding.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER; break; + case RHI::ShaderInputBufferType::AccelerationStructure: + vbinding.descriptorType = VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR; + break; default: vbinding.descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER; break;