diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-03-05 07:19:07 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-03-05 07:19:07 +0000 |
| commit | bdbca67b0e03baec3b9dd803e803d267210e892b (patch) | |
| tree | aa20e56029a30178360cd1b17f0c817f9d590daf /Graphics/GraphicsEngineD3D12 | |
| parent | Updated GL engine factory headers and structures (diff) | |
| download | DiligentCore-bdbca67b0e03baec3b9dd803e803d267210e892b.tar.gz DiligentCore-bdbca67b0e03baec3b9dd803e803d267210e892b.zip | |
Added ShaderFlags parameter to IPipelineState::BindStaticResources
Diffstat (limited to 'Graphics/GraphicsEngineD3D12')
3 files changed, 7 insertions, 3 deletions
diff --git a/Graphics/GraphicsEngineD3D12/include/PipelineStateD3D12Impl.h b/Graphics/GraphicsEngineD3D12/include/PipelineStateD3D12Impl.h index 64dfdc2b..fa51b6d0 100644 --- a/Graphics/GraphicsEngineD3D12/include/PipelineStateD3D12Impl.h +++ b/Graphics/GraphicsEngineD3D12/include/PipelineStateD3D12Impl.h @@ -50,7 +50,7 @@ public: virtual void QueryInterface(const INTERFACE_ID& IID, IObject** ppInterface)override final; - virtual void BindStaticResources(IResourceMapping* pResourceMapping, Uint32 Flags)override final; + virtual void BindStaticResources(Uint32 ShaderFlags, IResourceMapping* pResourceMapping, Uint32 Flags)override final; virtual Uint32 GetStaticVariableCount(SHADER_TYPE ShaderType) const override final; diff --git a/Graphics/GraphicsEngineD3D12/include/ShaderResourceLayoutD3D12.h b/Graphics/GraphicsEngineD3D12/include/ShaderResourceLayoutD3D12.h index 26ed260e..35ddfbc7 100644 --- a/Graphics/GraphicsEngineD3D12/include/ShaderResourceLayoutD3D12.h +++ b/Graphics/GraphicsEngineD3D12/include/ShaderResourceLayoutD3D12.h @@ -252,6 +252,8 @@ public: } const bool IsUsingSeparateSamplers() const {return !m_pResources->IsUsingCombinedTextureSamplers();} + + SHADER_TYPE GetShaderType() const {return m_pResources->GetShaderType();} private: const D3D12Resource& GetAssignedSampler(const D3D12Resource& TexSrv)const; diff --git a/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp b/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp index 91835158..46530860 100644 --- a/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp +++ b/Graphics/GraphicsEngineD3D12/src/PipelineStateD3D12Impl.cpp @@ -442,11 +442,13 @@ bool PipelineStateD3D12Impl::dbgContainsShaderResources()const return false; } -void PipelineStateD3D12Impl::BindStaticResources(IResourceMapping* pResourceMapping, Uint32 Flags) +void PipelineStateD3D12Impl::BindStaticResources(Uint32 ShaderFlags, IResourceMapping* pResourceMapping, Uint32 Flags) { for (Uint32 s=0; s < m_NumShaders; ++s) { - m_pStaticVarManagers[s].BindResources(pResourceMapping, Flags); + auto ShaderType = GetStaticShaderResLayout(s).GetShaderType(); + if ((ShaderFlags & ShaderType) != 0) + m_pStaticVarManagers[s].BindResources(pResourceMapping, Flags); } } |
