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

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

#include <PipelineStateD3D12.h>

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

Public Member Functions

virtual ID3D12PipelineState *DILIGENT_CALL_TYPE GetD3D12PipelineState () const =0
 Returns ID3D12PipelineState interface of the internal D3D12 pipeline state object object.
 
virtual ID3D12StateObject *DILIGENT_CALL_TYPE GetD3D12StateObject () const =0
 Returns ID3D12StateObject interface of the internal D3D12 state object for ray tracing.
 
virtual ID3D12RootSignature *DILIGENT_CALL_TYPE GetD3D12RootSignature () const =0
 Returns a pointer to the root signature object associated with this pipeline state.
 
- 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 Direct3D12-specific functionality of a pipeline state object.

Member Function Documentation

◆ GetD3D12PipelineState()

virtual ID3D12PipelineState *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D12::GetD3D12PipelineState ( ) const
pure virtual

Returns ID3D12PipelineState interface of the internal D3D12 pipeline state object object.

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

◆ GetD3D12RootSignature()

virtual ID3D12RootSignature *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D12::GetD3D12RootSignature ( ) const
pure virtual

Returns a pointer to the root signature object associated with this pipeline state.

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

◆ GetD3D12StateObject()

virtual ID3D12StateObject *DILIGENT_CALL_TYPE Diligent::IPipelineStateD3D12::GetD3D12StateObject ( ) const
pure virtual

Returns ID3D12StateObject interface of the internal D3D12 state object for ray tracing.

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