D3D12_ROOT_PARAMETER structure (d3d12.h)

Describes the slot of a root signature version 1.0.

Syntax

typedef struct D3D12_ROOT_PARAMETER {
  D3D12_ROOT_PARAMETER_TYPE ParameterType;
  union {
    D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
    D3D12_ROOT_CONSTANTS        Constants;
    D3D12_ROOT_DESCRIPTOR       Descriptor;
  };
  D3D12_SHADER_VISIBILITY   ShaderVisibility;
} D3D12_ROOT_PARAMETER;

Members

ParameterType

A D3D12_ROOT_PARAMETER_TYPE-typed value that specifies the type of root signature slot. This member determines which type to use in the union below.

DescriptorTable

A D3D12_ROOT_DESCRIPTOR_TABLE structure that describes the layout of a descriptor table as a collection of descriptor ranges that appear one after the other in a descriptor heap.

Constants

A D3D12_ROOT_CONSTANTS structure that describes constants inline in the root signature that appear in shaders as one constant buffer.

Descriptor

A D3D12_ROOT_DESCRIPTOR structure that describes descriptors inline in the root signature that appear in shaders.

ShaderVisibility

A D3D12_SHADER_VISIBILITY-typed value that specifies the shaders that can access the contents of the root signature slot.

Remarks

A D3D12_ROOT_SIGNATURE_DESC can contain descriptor tables and inline constants. More capable hardware could support inline descriptors in the root signature as well. The number of bind slots in the root signature are most efficient if kept below a certain size, and can have an upper bound as well.

Requirements

Requirement Value
Header d3d12.h

See also

CD3DX12_ROOT_PARAMETER

Core Structures

Creating a Root Signature

D3D12_ROOT_PARAMETER1