template<typename EngineImplTraits>
PipelineStateBase class
Template class implementing base functionality of the pipeline state object.
| Template parameters | |
|---|---|
| EngineImplTraits | - Engine implementation type traits. |
Contents
Base classes
-
template<class BaseInterface, typename RenderDeviceImplType, typename ObjectDescType>class DeviceObjectBase<EngineImplTraits::PipelineStateInterface, EngineImplTraits::RenderDeviceImplType, PipelineStateDesc>
- Template class implementing base functionality of the device object.
Constructors, destructors, conversion operators
- PipelineStateBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const GraphicsPipelineStateCreateInfo& GraphicsPipelineCI, bool bIsDeviceInternal = false)
- Initializes the object as graphics pipeline.
- PipelineStateBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const ComputePipelineStateCreateInfo& ComputePipelineCI, bool bIsDeviceInternal = false)
- Initializes the object as compute pipeline.
- PipelineStateBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const RayTracingPipelineStateCreateInfo& RayTracingPipelineCI, bool bIsDeviceInternal = false)
- Initializes the object as ray tracing pipeline.
Public functions
- auto GetResourceSignatureCount() const -> Uint32 final
- Implementation of IPipelineState::
GetResourceSignatureCount(). - auto GetResourceSignature(Uint32 Index) const -> PipelineResourceSignatureImplType* final
- Implementation of IPipelineState::
GetResourceSignature(). - auto IsCompatibleWith(const IPipelineState* pPSO) const -> bool override
- Implementation of IPipelineState::
IsCompatibleWith().
Protected types
- using SignatureAutoPtrType = RefCntAutoPtr<PipelineResourceSignatureImplType>
- Resource signatures arranged by their binding indices.
Protected variables
-
SHADER_
TYPE m_ActiveShaderStages - 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
- 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.
Function documentation
template<typename EngineImplTraits>
Diligent:: PipelineStateBase<EngineImplTraits>:: PipelineStateBase(IReferenceCounters* pRefCounters,
RenderDeviceImplType* pDevice,
const GraphicsPipelineStateCreateInfo& GraphicsPipelineCI,
bool bIsDeviceInternal = false)
Initializes the object as graphics pipeline.
| Parameters | |
|---|---|
| pRefCounters | - Reference counters object that controls the lifetime of this PSO |
| pDevice | - Pointer to the device. |
| GraphicsPipelineCI | - Graphics pipeline create information. |
| bIsDeviceInternal | - Flag indicating if the pipeline state is an internal device object and must not keep a strong reference to the device. |
template<typename EngineImplTraits>
Diligent:: PipelineStateBase<EngineImplTraits>:: PipelineStateBase(IReferenceCounters* pRefCounters,
RenderDeviceImplType* pDevice,
const ComputePipelineStateCreateInfo& ComputePipelineCI,
bool bIsDeviceInternal = false)
Initializes the object as compute pipeline.
| Parameters | |
|---|---|
| pRefCounters | - Reference counters object that controls the lifetime of this PSO |
| pDevice | - Pointer to the device. |
| ComputePipelineCI | - Compute pipeline create information. |
| bIsDeviceInternal | - Flag indicating if the pipeline state is an internal device object and must not keep a strong reference to the device. |
template<typename EngineImplTraits>
Diligent:: PipelineStateBase<EngineImplTraits>:: PipelineStateBase(IReferenceCounters* pRefCounters,
RenderDeviceImplType* pDevice,
const RayTracingPipelineStateCreateInfo& RayTracingPipelineCI,
bool bIsDeviceInternal = false)
Initializes the object as ray tracing pipeline.
| Parameters | |
|---|---|
| pRefCounters | - Reference counters object that controls the lifetime of this PSO |
| pDevice | - Pointer to the device. |
| RayTracingPipelineCI | - Ray tracing pipeline create information. |
| bIsDeviceInternal | - Flag indicating if the pipeline state is an internal device object and must not keep a strong reference to the device. |