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

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

#include <PipelineStateD3D11.h>

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

Public Member Functions

virtual ID3D11BlendState *DILIGENT_CALL_TYPE GetD3D11BlendState ()=0
 Returns a pointer to the ID3D11BlendState interface of the internal Direct3D11 object.
 
virtual ID3D11RasterizerState *DILIGENT_CALL_TYPE GetD3D11RasterizerState ()=0
 Returns a pointer to the ID3D11RasterizerState interface of the internal Direct3D11 object.
 
virtual ID3D11DepthStencilState *DILIGENT_CALL_TYPE GetD3D11DepthStencilState ()=0
 Returns a pointer to the ID3D11DepthStencilState interface of the internal Direct3D11 object.
 
virtual ID3D11InputLayout *DILIGENT_CALL_TYPE GetD3D11InputLayout ()=0
 Returns a pointer to the ID3D11InputLayout interface of the internal Direct3D11 object.
 
virtual ID3D11VertexShader *DILIGENT_CALL_TYPE GetD3D11VertexShader ()=0
 Returns a pointer to the ID3D11VertexShader interface of the internal vertex shader object.
 
virtual ID3D11PixelShader *DILIGENT_CALL_TYPE GetD3D11PixelShader ()=0
 Returns a pointer to the ID3D11PixelShader interface of the internal pixel shader object.
 
virtual ID3D11GeometryShader *DILIGENT_CALL_TYPE GetD3D11GeometryShader ()=0
 Returns a pointer to the ID3D11GeometryShader interface of the internal geometry shader object.
 
virtual ID3D11DomainShader *DILIGENT_CALL_TYPE GetD3D11DomainShader ()=0
 Returns a pointer to the ID3D11DomainShader interface of the internal domain shader object.
 
virtual ID3D11HullShader *DILIGENT_CALL_TYPE GetD3D11HullShader ()=0
 Returns a pointer to the ID3D11HullShader interface of the internal hull shader object.
 
virtual ID3D11ComputeShader *DILIGENT_CALL_TYPE GetD3D11ComputeShader ()=0
 Returns a pointer to the ID3D11ComputeShader interface of the internal compute shader object.
 
- 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 Direct3D11-specific functionality of a pipeline state object.

Member Function Documentation

◆ GetD3D11BlendState()

virtual ID3D11BlendState *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11BlendState ( )
pure virtual

Returns a pointer to the ID3D11BlendState interface of the internal Direct3D11 object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11ComputeShader()

virtual ID3D11ComputeShader *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11ComputeShader ( )
pure virtual

Returns a pointer to the ID3D11ComputeShader interface of the internal compute shader object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11DepthStencilState()

virtual ID3D11DepthStencilState *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11DepthStencilState ( )
pure virtual

Returns a pointer to the ID3D11DepthStencilState interface of the internal Direct3D11 object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11DomainShader()

virtual ID3D11DomainShader *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11DomainShader ( )
pure virtual

Returns a pointer to the ID3D11DomainShader interface of the internal domain shader object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11GeometryShader()

virtual ID3D11GeometryShader *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11GeometryShader ( )
pure virtual

Returns a pointer to the ID3D11GeometryShader interface of the internal geometry shader object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11HullShader()

virtual ID3D11HullShader *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11HullShader ( )
pure virtual

Returns a pointer to the ID3D11HullShader interface of the internal hull shader object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11InputLayout()

virtual ID3D11InputLayout *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11InputLayout ( )
pure virtual

Returns a pointer to the ID3D11InputLayout interface of the internal Direct3D11 object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11PixelShader()

virtual ID3D11PixelShader *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11PixelShader ( )
pure virtual

Returns a pointer to the ID3D11PixelShader interface of the internal pixel shader object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11RasterizerState()

virtual ID3D11RasterizerState *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11RasterizerState ( )
pure virtual

Returns a pointer to the ID3D11RasterizerState interface of the internal Direct3D11 object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.

◆ GetD3D11VertexShader()

virtual ID3D11VertexShader *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D11::GetD3D11VertexShader ( )
pure virtual

Returns a pointer to the ID3D11VertexShader interface of the internal vertex shader object.

The method does NOT increment the reference counter of the returned object, so Release() must not be called.