diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2021-02-25 03:34:36 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2021-03-19 00:38:11 +0000 |
| commit | fedbe3fdf4637ba1cb06d5aa121a8ccc23b78d97 (patch) | |
| tree | 19476a9541752880be6981c900c66f9112a2470a /Graphics/GraphicsEngineD3D12 | |
| parent | Reworked ShaderVariableVkImpl and ShaderVariableD3D12Impl: removed some dupli... (diff) | |
| download | DiligentCore-fedbe3fdf4637ba1cb06d5aa121a8ccc23b78d97.tar.gz DiligentCore-fedbe3fdf4637ba1cb06d5aa121a8ccc23b78d97.zip | |
PipelineResourceSignatureD3D12Impl: added bound buffer view mode validation
Diffstat (limited to 'Graphics/GraphicsEngineD3D12')
| -rw-r--r-- | Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp b/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp index a90f4103..65633f4a 100644 --- a/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp +++ b/Graphics/GraphicsEngineD3D12/src/PipelineResourceSignatureD3D12Impl.cpp @@ -38,6 +38,7 @@ #include "TextureViewD3D12Impl.hpp" #include "TopLevelASD3D12Impl.hpp" #include "D3D12TypeConversions.hpp" +#include "ShaderVariableD3D.hpp" namespace Diligent { @@ -1302,10 +1303,13 @@ bool PipelineResourceSignatureD3D12Impl::DvpValidateCommittedResource(const D3DS case SHADER_RESOURCE_TYPE_BUFFER_SRV: case SHADER_RESOURCE_TYPE_BUFFER_UAV: - if (ResAttribs.GetD3D12RootParamType() == D3D12_ROOT_PARAMETER_TYPE_SRV || - ResAttribs.GetD3D12RootParamType() == D3D12_ROOT_PARAMETER_TYPE_UAV) + if (const auto* pBuffViewD3D12 = CachedRes.pObject.RawPtr<BufferViewD3D12Impl>()) { - if (const auto* pBuffViewD3D12 = CachedRes.pObject.RawPtr<BufferViewD3D12Impl>()) + if (!VerifyBufferViewModeD3D(pBuffViewD3D12, D3DAttribs, ShaderName)) + BindingsOK = false; + + if (ResAttribs.GetD3D12RootParamType() == D3D12_ROOT_PARAMETER_TYPE_SRV || + ResAttribs.GetD3D12RootParamType() == D3D12_ROOT_PARAMETER_TYPE_UAV) { const auto* pBuffD3D12 = pBuffViewD3D12->GetBuffer<BufferD3D12Impl>(); VERIFY_EXPR(pBuffD3D12 != nullptr); |
