From 64d49d426b9c334f4cb620e6bf4ff1dcecc14574 Mon Sep 17 00:00:00 2001 From: assiduous Date: Sat, 19 Dec 2020 09:54:34 -0800 Subject: Fixed ray tracing recursion depth in Vulkan --- Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp | 2 +- Graphics/GraphicsEngineVulkan/src/RenderDeviceVkImpl.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'Graphics/GraphicsEngineVulkan') diff --git a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp index 32365f2f..263e6cb3 100644 --- a/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/PipelineStateVkImpl.cpp @@ -360,7 +360,7 @@ static void CreateRayTracingPipeline(RenderDeviceVkImpl* PipelineCI.pStages = Stages.data(); PipelineCI.groupCount = static_cast(ShaderGroups.size()); PipelineCI.pGroups = ShaderGroups.data(); - PipelineCI.maxPipelineRayRecursionDepth = std::max(1u, Uint32{RayTracingPipeline.MaxRecursionDepth}) - 1; // for compatibility with D3D12, zero means only one ray tracing depth. + PipelineCI.maxPipelineRayRecursionDepth = RayTracingPipeline.MaxRecursionDepth; PipelineCI.pLibraryInfo = nullptr; PipelineCI.pLibraryInterface = nullptr; PipelineCI.pDynamicState = nullptr; diff --git a/Graphics/GraphicsEngineVulkan/src/RenderDeviceVkImpl.cpp b/Graphics/GraphicsEngineVulkan/src/RenderDeviceVkImpl.cpp index 44bc0eb8..4a82921d 100644 --- a/Graphics/GraphicsEngineVulkan/src/RenderDeviceVkImpl.cpp +++ b/Graphics/GraphicsEngineVulkan/src/RenderDeviceVkImpl.cpp @@ -166,7 +166,7 @@ RenderDeviceVkImpl::RenderDeviceVkImpl(IReferenceCounters* m_PhysicalDevice->GetExtProperties().RayTracingPipeline.maxShaderGroupStride, m_PhysicalDevice->GetExtProperties().RayTracingPipeline.shaderGroupBaseAlignment, m_PhysicalDevice->GetExtProperties().MeshShader.maxDrawMeshTasksCount, - m_PhysicalDevice->GetExtProperties().RayTracingPipeline.maxRayRecursionDepth + 1, // for compatibility with D3D12 + m_PhysicalDevice->GetExtProperties().RayTracingPipeline.maxRayRecursionDepth, m_PhysicalDevice->GetExtProperties().RayTracingPipeline.maxRayDispatchInvocationCount } // clang-format on -- cgit v1.2.3