PipelineDesc
The description used to build a pipeline object.
File location: framework/cauldron/framework/inc/render/pipelinedesc.h
Construction
Return type |
Description |
---|---|
PipelineDesc ()
Construction, implemented per api/platform.
|
|
PipelineDesc (PipelineDesc&&)
|
|
PipelineDesc (const PipelineDesc&&)
|
Methods
Return type |
Description |
---|---|
void |
AddShaderDesc (ShaderBuildDesc & shaderDesc)
Add a shader to the pipeline description.
|
void |
AddShaderBlobDesc (ShaderBlobDesc & shaderBlobDesc)
Add a shader blob to the pipeline description.
|
void |
AddRasterFormats ( const ResourceFormat & rtFormat, const ResourceFormat depthFormat = ResourceFormat::Unknown )
Add the format of the render targets.
|
void |
AddRasterFormats ( const std::vector<ResourceFormat >& rtFormats, const ResourceFormat depthFormat = ResourceFormat::Unknown )
|
PipelineDescInternal* |
GetImpl ()
Gets the internal implementation for api/platform parameter accessors.
|
const PipelineDescInternal* |
GetImpl () const
|
PipelineDesc& |
operator = (PipelineDesc&&)
Move assignment overload, implemented per api/platform.
|
PipelineDesc& |
operator = (const PipelineDesc&&)
|
void |
SetRootSignature (RootSignature * pRootSignature)
Set the root signature for the pipeline.
|
void |
AddShaders (std::vector<const wchar_t*>* pAdditionalParameters = nullptr)
Add shaders (and build them) when ready.
|
void |
AddInputLayout (std::vector<InputLayoutDesc >& inputLayouts)
Define an input layout for the pipeline object (with manual information).
|
void |
AddRasterStateDescription (RasterDesc * pRasterDesc)
Add Rasterization state information (For Graphics Pipeline Objects).
|
void |
AddRenderTargetFormats ( const uint32_t numColorFormats, const ResourceFormat * pColorFormats, const ResourceFormat depthStencilFormat )
Add the format of the render targets.
|
void |
AddBlendStates ( const std::vector<BlendDesc >& blendDescs, bool alphaToCoverage, bool independentBlend )
Adds the blend states of the render targets.
|
void |
AddDepthState (const DepthDesc * pDepthDesc)
Adds the depth state.
|
void |
AddPrimitiveTopology (PrimitiveTopologyType topologyType)
Add primitive topology information (For Graphics Pipeline Objects).
|
void |
SetWave64 (bool isWave64)
Set Wave64 for this pipeline.
|
PipelineType |
GetPipelineType () const
|
Detailed description
The description used to build a pipeline object. The minimal requirements for a PipelineDesc is a RootSignature and a Shader (for compute) By default, the graphics pipeline desc will build with the following attributes:
-
No Depth Target
-
No Input Layout
-
Solid Fill and BackFace culling
-
No multisampling and 0 depth bias values
-
No blending
-
Depth disabled
-
Triangle topology
Data fields
Type |
Description |
---|---|
static constexpr uint32_t |
s_MaxRenderTargets
Limit the number of render targets to 8.
|
std::vector<ShaderBuildDesc > |
m_ShaderDescriptions
Shader build descriptions (builds shaders from string or file source).
|
std::vector<ShaderBlobDesc > |
m_ShaderBlobDescriptions
Shader build descriptions (builds shaders from shader binary blob).
|
bool |
m_IsWave64
Sets this pipeline to operate with Wave64 if the shader blob doesn’t have this information yet.
|
PipelineType |
m_PipelineType
The pipeline type (compute or graphics).
|
PipelineDescInternal* |
m_PipelineImpl
Internal implementation details set per api/platform.
|
Construction
PipelineDesc
Construction, implemented per api/platform.
Methods
AddShaderDesc
void AddShaderDesc (ShaderBuildDesc & shaderDesc)
Add a shader to the pipeline description.
AddShaderBlobDesc
void AddShaderBlobDesc (ShaderBlobDesc & shaderBlobDesc)
Add a shader blob to the pipeline description.
AddRasterFormats
Add the format of the render targets.
GetImpl
Gets the internal implementation for api/platform parameter accessors.
operator=
Move assignment overload, implemented per api/platform.
SetRootSignature
void SetRootSignature (RootSignature * pRootSignature)
Set the root signature for the pipeline.
AddShaders
Add shaders (and build them) when ready.
AddInputLayout
void AddInputLayout (std::vector<InputLayoutDesc >& inputLayouts)
Define an input layout for the pipeline object (with manual information).
AddRasterStateDescription
void AddRasterStateDescription (RasterDesc * pRasterDesc)
Add Rasterization state information (For Graphics Pipeline Objects).
AddRenderTargetFormats
Add the format of the render targets.
AddBlendStates
void AddBlendStates (
const std::vector<BlendDesc >& blendDescs,
bool alphaToCoverage,
bool independentBlend
)
Adds the blend states of the render targets.
AddDepthState
void AddDepthState (const DepthDesc * pDepthDesc)
Adds the depth state.
AddPrimitiveTopology
Add primitive topology information (For Graphics Pipeline Objects).
SetWave64
Set Wave64 for this pipeline.