Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IPipelineStateGL Struct Referenceabstract

Exposes OpenGL-specific functionality of a pipeline state object. More...

#include <PipelineStateGL.h>

Inheritance diagram for Diligent::IPipelineStateGL:
Diligent::IPipelineState Diligent::IDeviceObject Diligent.IObject

Public Member Functions

virtual GLuint DILIGENT_CALL_TYPE GetGLProgramHandle (SHADER_TYPE Stage) const =0
 
- Public Member Functions inherited from Diligent::IPipelineState
virtual const PipelineStateDesc &DILIGENT_CALL_TYPE GetDesc () const override=0
 Returns the pipeline description used to create the object.
 
virtual const GraphicsPipelineDesc &DILIGENT_CALL_TYPE GetGraphicsPipelineDesc () const =0
 Returns the graphics pipeline description used to create the object.
 
virtual const RayTracingPipelineDesc &DILIGENT_CALL_TYPE GetRayTracingPipelineDesc () const =0
 Returns the ray tracing pipeline description used to create the object.
 
virtual const TilePipelineDesc &DILIGENT_CALL_TYPE GetTilePipelineDesc () const =0
 Returns the tile pipeline description used to create the object.
 
virtual void DILIGENT_CALL_TYPE BindStaticResources (SHADER_TYPE ShaderStages, IResourceMapping *pResourceMapping, BIND_SHADER_RESOURCES_FLAGS Flags)=0
 Binds resources for all shaders in the pipeline state.
 
virtual Uint32 DILIGENT_CALL_TYPE GetStaticVariableCount (SHADER_TYPE ShaderType) const =0
 Returns the number of static shader resource variables.
 
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE GetStaticVariableByName (SHADER_TYPE ShaderType, const Char *Name)=0
 Returns static shader resource variable.
 
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE GetStaticVariableByIndex (SHADER_TYPE ShaderType, Uint32 Index)=0
 Returns static shader resource variable by its index.
 
virtual void DILIGENT_CALL_TYPE CreateShaderResourceBinding (IShaderResourceBinding **ppShaderResourceBinding, Bool InitStaticResources=false)=0
 Creates a shader resource binding object.
 
virtual void DILIGENT_CALL_TYPE InitializeStaticSRBResources (struct IShaderResourceBinding *pShaderResourceBinding) const =0
 Initializes static resources in the shader binding object.
 
virtual void DILIGENT_CALL_TYPE CopyStaticResources (IPipelineState *pDstPipeline) const =0
 Copies static resource bindings to the destination pipeline.
 
virtual bool DILIGENT_CALL_TYPE IsCompatibleWith (const struct IPipelineState *pPSO) const =0
 Checks if this pipeline state object is compatible with another PSO.
 
virtual Uint32 DILIGENT_CALL_TYPE GetResourceSignatureCount () const =0
 Returns the number of pipeline resource signatures used by this pipeline.
 
virtual IPipelineResourceSignature *DILIGENT_CALL_TYPE GetResourceSignature (Uint32 Index) const =0
 Returns pipeline resource signature at the give index.
 
virtual PIPELINE_STATE_STATUS DILIGENT_CALL_TYPE GetStatus (bool WaitForCompletion=false)=0
 Returns the pipeline state status, see Diligent::PIPELINE_STATE_STATUS.
 
- Public Member Functions inherited from Diligent::IDeviceObject
virtual Int32 DILIGENT_CALL_TYPE GetUniqueID () const =0
 Returns unique identifier assigned to an object.
 
virtual void DILIGENT_CALL_TYPE SetUserData (IObject *pUserData)=0
 Stores a pointer to the user-provided data object.
 
virtual IObject *DILIGENT_CALL_TYPE GetUserData () const =0
 Returns a pointer to the user data object previously set with SetUserData() method.
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0
 

Detailed Description

Exposes OpenGL-specific functionality of a pipeline state object.

Member Function Documentation

◆ GetGLProgramHandle()

virtual GLuint DILIGENT_CALL_TYPE Diligent::IPipelineStateGL::GetGLProgramHandle ( SHADER_TYPE Stage) const
pure virtual

Returns OpenGL program handle for the specified shader stage.

Parameters
[in]Stage- Shader stage.
Returns
OpenGL program handle for the specified shader stage.

If device supports separable programs, the function returns the handle of the program for the specified shader stage. Otherwise, the function returns the handle of the program that contains all shaders, if Stage is one of the active shader stages, or zero otherwise.