summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineD3D12
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2021-03-01 19:45:04 +0000
committerassiduous <assiduous@diligentgraphics.com>2021-03-19 00:38:13 +0000
commita5aa4f7f3b82a097c73712cade508cf7a9274e67 (patch)
tree9b78f0493e38f047ec69687f0eba2fb8f5790c7a /Graphics/GraphicsEngineD3D12
parentAdded test for input attachments in the resource signature; fixed few issues ... (diff)
downloadDiligentCore-a5aa4f7f3b82a097c73712cade508cf7a9274e67.tar.gz
DiligentCore-a5aa4f7f3b82a097c73712cade508cf7a9274e67.zip
Added resource signature creation failure test; fxied validation of resource flags.
Diffstat (limited to 'Graphics/GraphicsEngineD3D12')
-rw-r--r--Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp b/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp
index acbda862..edfbeda7 100644
--- a/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp
+++ b/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp
@@ -333,6 +333,9 @@ void PipelineResourceSignatureD3D12Impl::AllocateRootParameters(StaticResCacheTb
NumResources[d3d12DescriptorRangeType] += ResDesc.ArraySize;
}
+ const auto dbgValidResourceFlags = GetValidPipelineResourceFlags(ResDesc.ResourceType);
+ VERIFY((ResDesc.Flags & ~dbgValidResourceFlags) == 0, "Invalid resource flags. This error should've been caught by ValidatePipelineResourceSignatureDesc.");
+
const auto UseDynamicOffset = (ResDesc.Flags & PIPELINE_RESOURCE_FLAG_NO_DYNAMIC_BUFFERS) == 0;
const auto IsFormattedBuffer = (ResDesc.Flags & PIPELINE_RESOURCE_FLAG_FORMATTED_BUFFER) != 0;
const auto IsArray = ResDesc.ArraySize != 1;
@@ -341,7 +344,7 @@ void PipelineResourceSignatureD3D12Impl::AllocateRootParameters(StaticResCacheTb
switch (ResDesc.ResourceType)
{
case SHADER_RESOURCE_TYPE_CONSTANT_BUFFER:
- VERIFY(!IsFormattedBuffer, "Constant buffers can't be labeled as formatted. This error should've been cuaght by ValidatePipelineResourceSignatureDesc().");
+ VERIFY(!IsFormattedBuffer, "Constant buffers can't be labeled as formatted. This error should've been caught by ValidatePipelineResourceSignatureDesc().");
d3d12RootParamType = UseDynamicOffset && !IsArray ? D3D12_ROOT_PARAMETER_TYPE_CBV : D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE;
break;