From bbbf3434aefd105662f9efd4bf9e7d56f9e8170b Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sun, 11 Mar 2018 12:07:09 -0700 Subject: Implemented PSO compatibility in D3D11 --- Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h | 2 ++ Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp | 3 +-- Graphics/GraphicsEngineOpenGL/src/PipelineStateGLImpl.cpp | 6 ++++++ 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'Graphics/GraphicsEngineOpenGL') diff --git a/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h b/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h index f7b6193c..c8c70731 100644 --- a/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h +++ b/Graphics/GraphicsEngineOpenGL/include/PipelineStateGLImpl.h @@ -51,6 +51,8 @@ public: virtual void CreateShaderResourceBinding( IShaderResourceBinding **ppShaderResourceBinding )override; + virtual bool IsCompatibleWith(const IPipelineState *pPSO)const override final; + GLProgram &GetGLProgram(){return m_GLProgram;} GLObjectWrappers::GLPipelineObj &GetGLProgramPipeline(GLContext::NativeGLContextType Context); diff --git a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp index cd691f1f..7a0dfafc 100644 --- a/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/DeviceContextGLImpl.cpp @@ -130,10 +130,9 @@ namespace Diligent void DeviceContextGLImpl::CommitShaderResources(IShaderResourceBinding *pShaderResourceBinding, Uint32 Flags) { - if(!DeviceContextBase::CommitShaderResources(pShaderResourceBinding, Flags, 0)) + if(!DeviceContextBase::CommitShaderResources(pShaderResourceBinding, Flags, 0)) return; - if(m_CommitedResourcesTentativeBarriers != 0) LOG_INFO_MESSAGE("Not all tentative resource barriers have been executed since the last call to CommitShaderResources(). Did you forget to call Draw()/DispatchCompute() ?"); diff --git a/Graphics/GraphicsEngineOpenGL/src/PipelineStateGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/PipelineStateGLImpl.cpp index 360e21c0..90dbef39 100644 --- a/Graphics/GraphicsEngineOpenGL/src/PipelineStateGLImpl.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/PipelineStateGLImpl.cpp @@ -155,6 +155,12 @@ void PipelineStateGLImpl::CreateShaderResourceBinding(IShaderResourceBinding **p pResBinding->QueryInterface(IID_ShaderResourceBinding, reinterpret_cast(ppShaderResourceBinding)); } +bool PipelineStateGLImpl::IsCompatibleWith(const IPipelineState *pPSO)const +{ + UNSUPPORTED("Not yet implemented"); + return false; +} + GLObjectWrappers::GLPipelineObj &PipelineStateGLImpl::GetGLProgramPipeline(GLContext::NativeGLContextType Context) { ThreadingTools::LockHelper Lock(m_ProgPipelineLockFlag); -- cgit v1.2.3