Specifies the type of a sub-object in a pipeline state stream description.
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;
| 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. |
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.
Header: Declared in d3d12_x.h.