D3D12_STATE_SUBOBJECT_TYPE enumeration (d3d12.h)

The type of a state subobject. Use with D3D12_STATE_SUBOBJECT.

Syntax

typedef enum D3D12_STATE_SUBOBJECT_TYPE {
  D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0,
  D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1,
  D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2,
  D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3,
  D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5,
  D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6,
  D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7,
  D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8,
  D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9,
  D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10,
  D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11,
  D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1,
  D3D12_STATE_SUBOBJECT_TYPE_WORK_GRAPH,
  D3D12_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT,
  D3D12_STATE_SUBOBJECT_TYPE_BLEND,
  D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_MASK,
  D3D12_STATE_SUBOBJECT_TYPE_RASTERIZER,
  D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL,
  D3D12_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT,
  D3D12_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE,
  D3D12_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY,
  D3D12_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS,
  D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT,
  D3D12_STATE_SUBOBJECT_TYPE_SAMPLE_DESC,
  D3D12_STATE_SUBOBJECT_TYPE_FLAGS,
  D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1,
  D3D12_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING,
  D3D12_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM,
  D3D12_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL2,
  D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID
} ;

Constants

 
D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG
Value: 0
Subobject type is D3D12_STATE_OBJECT_CONFIG.
D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE
Value: 1
Subobject type is D3D12_GLOBAL_ROOT_SIGNATURE.
D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE
Value: 2
Subobject type is D3D12_LOCAL_ROOT_SIGNATURE.
D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK
Value: 3
Subobject type is D3D12_NODE_MASK.

IMPORTANT

On some versions of the DirectX Runtime, specifying a node via D3D12_NODE_MASK in a D3D12_STATE_SUBOBJECT with type D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK, the runtime will incorrectly handle a node mask value of 0, which should use node #1, which will lead to errors when attempting to use the state object later. Specify an explicit node value of 1, or omit the D3D12_NODE_MASK subobject to avoid this issue.

D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY
Value: 5
Subobject type is D3D12_DXIL_LIBRARY_DESC.
D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION
Value: 6
Subobject type is D3D12_EXISTING_COLLECTION_DESC.
D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION
Value: 7
Subobject type is D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION.
D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION
Value: 8
Subobject type is D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION.
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG
Value: 9
Subobject type is D3D12_RAYTRACING_SHADER_CONFIG.
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG
Value: 10
Subobject type is D3D12_RAYTRACING_PIPELINE_CONFIG.
D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP
Value: 11
Subobject type is D3D12_HIT_GROUP_DESC
D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID
The maximum valid subobject type value.

Requirements

Requirement Value
Header d3d12.h