Fix descriptor set
Fix pNext chaining Code cleanupFixes #1088 Fixes #1089
This commit is contained in:
parent
1201b8d10c
commit
ef50bf9b8f
1 changed files with 9 additions and 14 deletions
|
|
@ -6,10 +6,6 @@
|
|||
* This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
|
||||
*/
|
||||
|
||||
/*
|
||||
* @todo
|
||||
*/
|
||||
|
||||
#include "VulkanRaytracingSample.h"
|
||||
#define VK_GLTF_MATERIAL_IDS
|
||||
#include "VulkanglTFModel.h"
|
||||
|
|
@ -75,12 +71,6 @@ public:
|
|||
|
||||
enabledDeviceExtensions.push_back(VK_KHR_MAINTENANCE3_EXTENSION_NAME);
|
||||
enabledDeviceExtensions.push_back(VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME);
|
||||
physicalDeviceDescriptorIndexingFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
|
||||
physicalDeviceDescriptorIndexingFeatures.shaderSampledImageArrayNonUniformIndexing = VK_TRUE;
|
||||
physicalDeviceDescriptorIndexingFeatures.runtimeDescriptorArray = VK_TRUE;
|
||||
physicalDeviceDescriptorIndexingFeatures.descriptorBindingVariableDescriptorCount = VK_TRUE;
|
||||
|
||||
deviceCreatepNextChain = &physicalDeviceDescriptorIndexingFeatures;
|
||||
}
|
||||
|
||||
~VulkanExample()
|
||||
|
|
@ -98,6 +88,7 @@ public:
|
|||
shaderBindingTables.miss.destroy();
|
||||
shaderBindingTables.hit.destroy();
|
||||
ubo.destroy();
|
||||
geometryNodesBuffer.destroy();
|
||||
}
|
||||
|
||||
void createAccelerationStructureBuffer(AccelerationStructure &accelerationStructure, VkAccelerationStructureBuildSizesInfoKHR buildSizeInfo)
|
||||
|
|
@ -220,7 +211,7 @@ public:
|
|||
accelerationStructureBuildGeometryInfo.sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR;
|
||||
accelerationStructureBuildGeometryInfo.type = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR;
|
||||
accelerationStructureBuildGeometryInfo.flags = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR;
|
||||
accelerationStructureBuildGeometryInfo.geometryCount = geometries.size();
|
||||
accelerationStructureBuildGeometryInfo.geometryCount = static_cast<uint32_t>(geometries.size());
|
||||
accelerationStructureBuildGeometryInfo.pGeometries = geometries.data();
|
||||
|
||||
const uint32_t numTriangles = maxPrimitiveCounts[0];
|
||||
|
|
@ -373,7 +364,6 @@ public:
|
|||
VkAccelerationStructureDeviceAddressInfoKHR accelerationDeviceAddressInfo{};
|
||||
accelerationDeviceAddressInfo.sType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR;
|
||||
accelerationDeviceAddressInfo.accelerationStructure = topLevelAS.handle;
|
||||
topLevelAS.deviceAddress = vkGetAccelerationStructureDeviceAddressKHR(device, &accelerationDeviceAddressInfo);
|
||||
|
||||
deleteScratchBuffer(scratchBuffer);
|
||||
instancesBuffer.destroy();
|
||||
|
|
@ -447,7 +437,6 @@ public:
|
|||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
|
||||
};
|
||||
setLayoutBindingFlags.pBindingFlags = descriptorBindingFlags.data();
|
||||
|
|
@ -734,7 +723,13 @@ public:
|
|||
enabledAccelerationStructureFeatures.accelerationStructure = VK_TRUE;
|
||||
enabledAccelerationStructureFeatures.pNext = &enabledRayTracingPipelineFeatures;
|
||||
|
||||
deviceCreatepNextChain = &enabledAccelerationStructureFeatures;
|
||||
physicalDeviceDescriptorIndexingFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
|
||||
physicalDeviceDescriptorIndexingFeatures.shaderSampledImageArrayNonUniformIndexing = VK_TRUE;
|
||||
physicalDeviceDescriptorIndexingFeatures.runtimeDescriptorArray = VK_TRUE;
|
||||
physicalDeviceDescriptorIndexingFeatures.descriptorBindingVariableDescriptorCount = VK_TRUE;
|
||||
physicalDeviceDescriptorIndexingFeatures.pNext = &enabledAccelerationStructureFeatures;
|
||||
|
||||
deviceCreatepNextChain = &physicalDeviceDescriptorIndexingFeatures;
|
||||
|
||||
enabledFeatures.samplerAnisotropy = VK_TRUE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue