diff options
| author | azhirnov <zh1dron@gmail.com> | 2020-11-25 16:14:57 +0000 |
|---|---|---|
| committer | azhirnov <zh1dron@gmail.com> | 2020-11-25 16:35:13 +0000 |
| commit | c3058653add8f8a9d147de652a94c178a6973ac6 (patch) | |
| tree | 1dc04806de7cc862ea406d77d2adba8b3210452f /Graphics/GraphicsEngineVulkan | |
| parent | Added support for VK_KHR_acceleration_structure and VK_KHR_ray_tracing_pipeline (diff) | |
| download | DiligentCore-c3058653add8f8a9d147de652a94c178a6973ac6.tar.gz DiligentCore-c3058653add8f8a9d147de652a94c178a6973ac6.zip | |
Added RootSignatureBuilder, some fixed for vulkan ray tracing
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/src/DeviceContextVkImpl.cpp | 1 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Graphics/GraphicsEngineVulkan/src/DeviceContextVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/DeviceContextVkImpl.cpp index 3cab0ae2..e34f52f2 100644 --- a/Graphics/GraphicsEngineVulkan/src/DeviceContextVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/DeviceContextVkImpl.cpp @@ -2789,6 +2789,7 @@ void DeviceContextVkImpl::BuildBLAS(const BuildBLASAttribs& Attribs) // vertex format in SrcTris may be undefined, so use vertex format from description vkTris.vertexFormat = TypeToVkFormat(TriDesc.VertexValueType, TriDesc.VertexComponentCount, TriDesc.VertexValueType < VT_FLOAT16); vkTris.vertexStride = SrcTris.VertexStride; + vkTris.maxVertex = SrcTris.VertexCount; vkTris.vertexData.deviceAddress = pVB->GetVkDeviceAddress() + SrcTris.VertexOffset; TransitionOrVerifyBufferState(*pVB, Attribs.GeometryTransitionMode, RESOURCE_STATE_BUILD_AS_READ, VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, OpName); diff --git a/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp b/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp index 93fb9f34..514ca01d 100644 --- a/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp +++ b/Graphics/GraphicsEngineVulkan/src/EngineFactoryVk.cpp @@ -427,6 +427,17 @@ void EngineFactoryVkImpl::CreateDeviceAndContextsVk(const EngineVkCreateInfo& _E EnabledExtFeats.BufferDeviceAddress = DeviceExtFeatures.BufferDeviceAddress; EnabledExtFeats.DescriptorIndexing = DeviceExtFeatures.DescriptorIndexing; + // disable unused features + EnabledExtFeats.AccelStruct.accelerationStructureCaptureReplay = false; + EnabledExtFeats.AccelStruct.accelerationStructureIndirectBuild = false; + EnabledExtFeats.AccelStruct.accelerationStructureHostCommands = false; + EnabledExtFeats.AccelStruct.descriptorBindingAccelerationStructureUpdateAfterBind = false; + + EnabledExtFeats.RayTracingPipeline.rayTracingPipelineShaderGroupHandleCaptureReplay = false; + EnabledExtFeats.RayTracingPipeline.rayTracingPipelineShaderGroupHandleCaptureReplayMixed = false; + EnabledExtFeats.RayTracingPipeline.rayTracingPipelineTraceRaysIndirect = false; + EnabledExtFeats.RayTracingPipeline.rayTraversalPrimitiveCulling = false; // for GLSL_EXT_ray_flags_primitive_culling + *NextExt = &EnabledExtFeats.AccelStruct; NextExt = &EnabledExtFeats.AccelStruct.pNext; *NextExt = &EnabledExtFeats.RayTracingPipeline; |
