The Command Processor packet descriptor for setting a Pipeline State object. This structure is output by ID3D12PipelineState::GetDescriptorX.
typedef struct D3D12XBOX_DESCRIPTOR_PIPELINE_STATE {
union {
struct {
UINT32 Data[6];
};
struct {
UINT32 Header;
UINT32 ContextHash;
UINT32 Data2;
UINT32 Data3;
UINT32 Data4;
UINT32 Data5;
};
};
} D3D12XBOX_DESCRIPTOR_PIPELINE_STATE;
Data
An opaque array of data for setting a Pipeline State object. Reserved; don’t modify this field.
Header
The packet header for the GPU command processor packet. Reserved; don’t modify this field.
ContextHash
A context hash, to run a GPU sort and thereby perfectly minimize context rolls. This field is relevant only for Graphics Pipeline State objects, not for Compute.
Data2
Reserved; don’t modify this field.
Data3
Reserved; don’t modify this field.
Data4
Reserved; don’t modify this field.
Data5
Reserved; don’t modify this field.
This structure is output by ID3D12PipelineState::GetDescriptorX.
This structure contains either a single array containing 6 values, or a header, context hash, and 4 values.
This is the Command Processor packet/descriptor for setting a Pipeline State object. Always query this structure by calling ID3D12PipelineState::GetDescriptorX at run-time from the Pipeline State object created by Direct3D, because this structure cannot be pre-created offline.
The ContextHash field, in conjunction with ID3D12GraphicsCommandList::ExecuteIndirect or ExecuteIndirectBundleX, allows running a GPU sort and thereby perfectly minimizing context rolls. ContextHash is relevant only for Graphics Pipeline State objects, not for Compute.
Header: Declared in d3d12_x.h.