diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-03-11 19:07:09 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-03-11 19:07:09 +0000 |
| commit | bbbf3434aefd105662f9efd4bf9e7d56f9e8170b (patch) | |
| tree | 42806921a62dcc82b4925927d52e9f453048e959 /Graphics/GraphicsEngineOpenGL | |
| parent | Enabled full optimization (/Ox) for windows release builds (diff) | |
| download | DiligentCore-bbbf3434aefd105662f9efd4bf9e7d56f9e8170b.tar.gz DiligentCore-bbbf3434aefd105662f9efd4bf9e7d56f9e8170b.zip | |
Implemented PSO compatibility in D3D11
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
3 files changed, 9 insertions, 2 deletions
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<PipelineStateGLImpl>(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<IObject**>(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); |
