D3D12_PIPELINE_STATE_SUBOBJECT_TYPE Enumeration

Specifies the type of a sub-object in a pipeline state stream description.

Syntax

typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
{
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0,
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMATS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS + 1),
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = (D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 + 1),
    D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_PIXEL_SHADER_OPTIONS,
    D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_OPTIONS,
    D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_GRAPHICS_SHADER_LIMITS,
    D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_TESSELLATION_PARAMETERS,
    D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_COMPUTE_SHADER_LIMITS,
    D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_COMPUTE_SHADER_LIMITS + 2
} D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;  

Constants

Constant Description
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE Indicates a root signature subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS Indicates a vertex shader subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS Indicates a pixel shader subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS Indicates a domain shader subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS Indicates a hull shader subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS Indicates a geometry shader subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS Indicates a compute shader subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT Indicates a stream-output subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND Indicates a blend subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK Indicates a sample mask subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER Indicates indicates a rasterizer subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL Indicates a depth stencil subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT Indicates an input layout subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE Indicates an index buffer strip cut value subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY Indicates a primitive topology subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS Indicates a render target formats subobject type. This subobject type corresponds to the D3D12_RT_FORMAT_ARRAY structure, which wraps an array of render target formats along with a count of the array elements.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT Indicates a depth stencil format subobject.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC Indicates a sample description subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK Indicates a node mask subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO Indicates a cached pipeline state object subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS Indicates a flags subobject type.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 Indicates an expanded depth stencil subobject type. This expansion of the depth stencil subobject supports optional depth bounds checking.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING Indicates a view instancing subobject type.
D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_PIXEL_SHADER_OPTIONS Indicates a pixel shader options subobject type. Xbox specific.
D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_OPTIONS Indicates a depth stencil options subobject type. Xbox specific.
D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_GRAPHICS_SHADER_LIMITS Indicates a graphics shader limits subobject type. Xbox specific.
D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_TESSELLATION_PARAMETERS Indicates a tesselation parameters subobject type. Xbox specific.
D3D12XBOX_PIPELINE_STATE_SUBOBJECT_TYPE_COMPUTE_SHADER_LIMITS Indicates a compute shader limits subobject type. Xbox specific.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID A sentinal value that marks the exclusive upper-bound of valid values this enumeration represents.

Remarks

This enumeration is used to create pipeline state objects using the ID3D12Device2::CreatePipelineState method. The CreatePipelineState method takes a D3D12_PIPELINE_STATE_STREAM_DESC as one of its parameters, this structure in turn describes a bytestream made up of alternating D3D12_PIPELINE_STATE_SUBOBJECT_TYPE enumerators and their corresponding subobject description structs. This bytestream description can be made concrete by defining a structure that has the same alternating pattern of D3D12_PIPELINE_STATE_SUBOBJECT_TYPE enumerators and subobject descriptions as members.

Requirements

Header: Declared in d3d12_x.h.