D3D12_PIPELINE_STATE_SUBOBJECT_TYPE enumeration (d3d12.h)

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_PS,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 24,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 25,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER1,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER2,
  D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID
} ;

Constants

 
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE
Value: 0
Indicates a root signature subobject type.
The corresponding subobject type is ID3D12RootSignature.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS
Indicates a vertex shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS
Indicates a pixel shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS
Indicates a domain shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS
Indicates a hull shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS
Indicates a geometry shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS
Indicates a compute shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT
Indicates a stream-output subobject type.
The corresponding subobject type is D3D12_STREAM_OUTPUT_DESC.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND
Indicates a blend subobject type.
The corresponding subobject type is D3D12_BLEND_DESC.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK
Indicates a sample mask subobject type.
The corresponding subobject type is UINT.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER
Indicates indicates a rasterizer subobject type.
The corresponding subobject type is D3D12_RASTERIZER_DESC.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL
Indicates a depth stencil subobject type.
The corresponding subobject type is D3D12_DEPTH_STENCIL_DESC.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT
Indicates an input layout subobject type.
The corresponding subobject type is D3D12_INPUT_LAYOUT_DESC.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE
Indicates an index buffer strip cut value subobject type.
The corresponding subobject type is D3D12_INDEX_BUFFER_STRIP_CUT_VALUE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY
Indicates a primitive topology subobject type.
The corresponding subobject type is D3D12_PRIMITIVE_TOPOLOGY_TYPE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS
Indicates a render target formats subobject type. The corresponding subobject type is 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.
The corresponding subobject type is DXGI_FORMAT.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC
Indicates a sample description subobject type.
The corresponding subobject type is DXGI_SAMPLE_DESC.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK
Indicates a node mask subobject type.
The corresponding subobject type is D3D12_NODE_MASK or UINT.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO
Indicates a cached pipeline state object subobject type.
The corresponding subobject type is D3D12_CACHED_PIPELINE_STATE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS
Indicates a flags subobject type.
The corresponding subobject type is D3D12_PIPELINE_STATE_FLAGS.
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.
The corresponding subobject type is D3D12_DEPTH_STENCIL_DESC1.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING
Indicates a view instancing subobject type.
The corresponding subobject type is D3D12_VIEW_INSTANCING_DESC.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS
Value: 24
Indicates an amplification shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS
Value: 25
Indicates a mesh shader subobject type.
The corresponding subobject type is D3D12_SHADER_BYTECODE.
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID
A sentinel value that marks the exclusive upper-bound of valid values this enumeration represents.

Remarks

This enum is used in the creation of pipeline state objects using the ID3D12Device1::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 enumeration values and their corresponding subobject description structs. This bytestream description can be made a concrete type by defining a structure that has the same alternating pattern of alternating D3D12_PIPELINE_STATE_SUBOBJECT_TYPE enumeration values and their corresponding subobject description structs as members.

Requirements

Requirement Value
Header d3d12.h

See also

See D3D12_PIPELINE_STATE_STREAM_DESC for a description of the layout and behavior of a streaming pipeline desc.

Core Enumerations