diff options
| author | azhirnov <zh1dron@gmail.com> | 2020-11-16 20:37:39 +0000 |
|---|---|---|
| committer | azhirnov <zh1dron@gmail.com> | 2020-11-16 20:37:39 +0000 |
| commit | f833f01c4fb6174aed9f90edb1266631a444cecc (patch) | |
| tree | 6c917a0d5b7ce3a2b3f8323d79a31d7f8ab4ba4f /Graphics/GraphicsEngineD3D12 | |
| parent | update comments (diff) | |
| download | DiligentCore-f833f01c4fb6174aed9f90edb1266631a444cecc.tar.gz DiligentCore-f833f01c4fb6174aed9f90edb1266631a444cecc.zip | |
Some fixes for PSO
Diffstat (limited to 'Graphics/GraphicsEngineD3D12')
| -rw-r--r-- | Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp b/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp index 74621eca..3c63b7d7 100644 --- a/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp +++ b/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp @@ -205,7 +205,9 @@ void BuildRTPipelineDescription(const RayTracingPipelineStateCreateInfo& CreateI Subobjects.push_back({D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP, &HitGroupDesc}); } + constexpr Uint32 MaxPayloadSize = sizeof(float) * 8; constexpr Uint32 RecursionDepthLimit = D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH - 1; + if (CreateInfo.RayTracingPipeline.MaxRecursionDepth > RecursionDepthLimit) LOG_PSO_ERROR_AND_THROW("MaxRecursionDepth (", CreateInfo.RayTracingPipeline.MaxRecursionDepth, ") must be <= ", RecursionDepthLimit); @@ -216,7 +218,7 @@ void BuildRTPipelineDescription(const RayTracingPipelineStateCreateInfo& CreateI auto& ShaderConfig = *TempPool.Construct<D3D12_RAYTRACING_SHADER_CONFIG>(); ShaderConfig.MaxAttributeSizeInBytes = CreateInfo.MaxAttributeSize == 0 ? D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES : CreateInfo.MaxAttributeSize; - ShaderConfig.MaxPayloadSizeInBytes = CreateInfo.MaxPayloadSize == 0 ? 32 : CreateInfo.MaxPayloadSize; + ShaderConfig.MaxPayloadSizeInBytes = CreateInfo.MaxPayloadSize == 0 ? MaxPayloadSize : CreateInfo.MaxPayloadSize; Subobjects.push_back({D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG, &ShaderConfig}); #undef LOG_PSO_ERROR_AND_THROW } |
