D3D12XBOX_DESCRIPTOR_PIPELINE_STATE Structure

The Command Processor packet descriptor for setting a Pipeline State object. This structure is output by ID3D12PipelineState::GetDescriptorX.

Syntax

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;  

Members

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.

Remarks

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.

Requirements

Header: Declared in d3d12_x.h.