Pipeline state creation attributes. More...
#include <PipelineState.h>
Public Attributes | |
| PipelineStateDesc | PSODesc |
| Pipeline state description. | |
| PSO_CREATE_FLAGS | Flags = PSO_CREATE_FLAG_NONE |
| Pipeline state creation flags, see Diligent::PSO_CREATE_FLAGS. | |
| Uint32 | ResourceSignaturesCount = 0 |
The number of elements in ppResourceSignatures array. | |
| IPipelineResourceSignature ** | ppResourceSignatures = nullptr |
| Uint32 | NumSpecializationConstants = 0 |
| The number of specialization constants. | |
| const SpecializationConstant * | pSpecializationConstants = nullptr |
| IPipelineStateCache * | pPSOCache = nullptr |
| void * | pInternalData = nullptr |
For internal use only. Must always be null. | |
Pipeline state creation attributes.
| IPipelineResourceSignature** Diligent::PipelineStateCreateInfo::ppResourceSignatures = nullptr |
An array of ResourceSignaturesCount shader resource signatures that define the layout of shader resources in this pipeline state object. See Diligent::IPipelineResourceSignature.
When this member is null, the pipeline resource layout will be defined by PSODesc.ResourceLayout member. In this case the PSO will implicitly create a resource signature that can be queried through IPipelineState::GetResourceSignature() method. When ppResourceSignatures is not null, PSODesc.ResourceLayout is ignored and should be in it default state.
| IPipelineStateCache* Diligent::PipelineStateCreateInfo::pPSOCache = nullptr |
Optional pipeline state cache that is used to accelerate PSO creation. If PSODesc.Name is found in the cache, the cache data is used to create the PSO. Otherwise, the PSO is added to the cache.
| const SpecializationConstant* Diligent::PipelineStateCreateInfo::pSpecializationConstants = nullptr |
Pointer to an array of NumSpecializationConstants SpecializationConstant elements that define the values of specialization constants for the pipeline. Specialization constants allow applications to set constant values at pipeline creation time, enabling the driver to optimize the compiled shader code.
This feature requires DeviceFeatures.SpecializationConstants to be enabled. If the device does not support specialization constants, non-empty arrays will be rejected during pipeline creation.