Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::PipelineStateDesc Struct Reference

Pipeline state description. More...

#include <PipelineState.h>

Inheritance diagram for Diligent::PipelineStateDesc:
Diligent::DeviceObjectAttribs

Public Member Functions

bool operator== (const PipelineStateDesc &RHS) const noexcept
 Tests if two pipeline state descriptions are equal.
 

Public Attributes

PIPELINE_TYPE PipelineType = PIPELINE_TYPE_GRAPHICS
 Pipeline type.
 
Uint32 SRBAllocationGranularity = 1
 Shader resource binding allocation granularity.
 
Uint64 ImmediateContextMask = 1
 Defines which immediate contexts are allowed to execute commands that use this pipeline state.
 
PipelineResourceLayoutDesc ResourceLayout
 Pipeline layout description.
 
- Public Attributes inherited from Diligent::DeviceObjectAttribs
const Char * Name = nullptr
 Object name.
 

Detailed Description

Pipeline state description.

Member Function Documentation

◆ operator==()

bool Diligent::PipelineStateDesc::operator== ( const PipelineStateDesc & RHS) const
inlinenoexcept

Tests if two pipeline state descriptions are equal.

Parameters
[in]RHS- reference to the structure to compare with.
Returns
true if all members of the two structures except for the Name are equal, and false otherwise.
Note
The operator ignores the Name field as it is used for debug purposes and doesn't affect the pipeline state properties.

Member Data Documentation

◆ ImmediateContextMask

Uint64 Diligent::PipelineStateDesc::ImmediateContextMask = 1

Defines which immediate contexts are allowed to execute commands that use this pipeline state.

When ImmediateContextMask contains a bit at position n, the pipeline state may be used in the immediate context with index n directly (see DeviceContextDesc::ContextId). It may also be used in a command list recorded by a deferred context that will be executed through that immediate context.

Remarks
Only specify those bits that will indicate the immediate contexts where the PSO will actually be used. Do not set unnecessary bits as this will result in extra overhead.

◆ SRBAllocationGranularity

Uint32 Diligent::PipelineStateDesc::SRBAllocationGranularity = 1

Shader resource binding allocation granularity.

This member defines allocation granularity for internal resources required by the shader resource binding object instances. Has no effect if the PSO is created with explicit pipeline resource signature(s).