26 #include "PipelineStateGL.h" 27 #include "PipelineStateBase.h" 28 #include "RenderDevice.h" 29 #include "GLProgram.h" 30 #include "GLObjectWrapper.h" 31 #include "GLContext.h" 36 class FixedBlockMemoryAllocator;
48 virtual void QueryInterface(
const Diligent::INTERFACE_ID &IID, IObject **ppInterface )
override;
54 GLProgram &GetGLProgram(){
return m_GLProgram;}
55 GLObjectWrappers::GLPipelineObj &GetGLProgramPipeline(GLContext::NativeGLContextType Context);
58 void LinkGLProgram(
bool bIsProgramPipelineSupported);
60 GLProgram m_GLProgram;
61 ThreadingTools::LockFlag m_ProgPipelineLockFlag;
62 std::unordered_map<GLContext::NativeGLContextType, GLObjectWrappers::GLPipelineObj> m_GLProgPipelines;
Template class implementing base functionality for a pipeline state object.
Definition: PipelineStateBase.h:46
Namespace for the OpenGL implementation of the graphics engine.
Definition: BufferD3D11Impl.h:34
Resouce mapping.
Definition: ResourceMapping.h:80
Shader resource binding interface.
Definition: ShaderResourceBinding.h:40
Implementation of the render device interface in OpenGL.
Definition: RenderDeviceGLImpl.h:53
virtual void QueryInterface(const Diligent::INTERFACE_ID &IID, IObject **ppInterface) override
Queries the specific interface, see IObject::QueryInterface() for details.
Implementation of the Diligent::IPipelineStateGL interface.
Definition: PipelineStateGLImpl.h:39
virtual void CreateShaderResourceBinding(IShaderResourceBinding **ppShaderResourceBinding) override
Creates a shader resource binding object.
Definition: PipelineStateGLImpl.cpp:150
virtual void BindShaderResources(IResourceMapping *pResourceMapping, Uint32 Flags) override
Binds resources for all shaders in the pipeline state.
Definition: PipelineStateGLImpl.cpp:134
Pipeline state description.
Definition: PipelineState.h:179