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.