Template class implementing base functionality of the pipeline state object. More...
#include <PipelineStateBase.hpp>
Public Member Functions | |
| template<typename PSOCreateInfoType> | |
| PipelineStateBase (IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const PSOCreateInfoType &CreateInfo, bool bIsDeviceInternal=false) | |
| Initializes the object as a specific pipeline. | |
| virtual Uint32 DILIGENT_CALL_TYPE | GetResourceSignatureCount () const override final |
| Implementation of IPipelineState::GetResourceSignatureCount(). | |
| virtual PipelineResourceSignatureImplType *DILIGENT_CALL_TYPE | GetResourceSignature (Uint32 Index) const override final |
| Implementation of IPipelineState::GetResourceSignature(). | |
| virtual bool DILIGENT_CALL_TYPE | IsCompatibleWith (const IPipelineState *pPSO) const override |
| Implementation of IPipelineState::IsCompatibleWith(). | |
Public Member Functions inherited from Diligent::DeviceObjectBase< EngineImplTraits::PipelineStateInterface, EngineImplTraits::RenderDeviceImplType, PipelineStateDesc > | |
| DeviceObjectBase (IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const PipelineStateDesc &ObjDesc, bool bIsDeviceInternal=false) | |
| virtual Int32 DILIGENT_CALL_TYPE | GetUniqueID () const override final |
| Returns unique identifier. | |
| virtual void DILIGENT_CALL_TYPE | SetUserData (IObject *pUserData) override final |
| Implementation of IDeviceObject::SetUserData. | |
| virtual IObject *DILIGENT_CALL_TYPE | GetUserData () const override final |
| Implementation of IDeviceObject::GetUserData. | |
Protected Types | |
| using | SignatureAutoPtrType = RefCntAutoPtr<PipelineResourceSignatureImplType> |
| Resource signatures arranged by their binding indices. | |
Protected Attributes | |
| SHADER_TYPE | m_ActiveShaderStages = SHADER_TYPE_UNKNOWN |
| Shader stages that are active in this PSO. | |
| const bool | m_UsingImplicitSignature |
| True if the pipeline was created using implicit root signature. | |
| Uint8 | m_SignatureCount = 0 |
Protected Attributes inherited from Diligent::DeviceObjectBase< EngineImplTraits::PipelineStateInterface, EngineImplTraits::RenderDeviceImplType, PipelineStateDesc > | |
| RenderDeviceImplType *const | m_pDevice |
| Pointer to the device. | |
| PipelineStateDesc | m_Desc |
| Object description. | |
Template class implementing base functionality of the pipeline state object.
| EngineImplTraits | - Engine implementation type traits. |
|
inline |
Initializes the object as a specific pipeline.
| PSOCreateInfoType | - Pipeline state create info type (GraphicsPipelineStateCreateInfo, ComputePipelineStateCreateInfo, etc.) |
| pRefCounters | - Reference counters object that controls the lifetime of this PSO |
| pDevice | - Pointer to the device. |
| CreateInfo | - Pipeline state create info. |
| bIsDeviceInternal | - Flag indicating if the pipeline state is an internal device object and must not keep a strong reference to the device. |
|
protected |
The number of signatures in m_Signatures array. Note that this is not necessarily the same as the number of signatures that were used to create the pipeline, because signatures are arranged by their binding index.