DirectX 12 Documentation

Comprehensive API Reference

ID3D12RootSignature Interface

Represents a root signature for Direct3D 12.

The root signature is a part of the pipeline state object (PSO) that defines the layout of the root signature, which is a collection of root parameters. Root parameters are a part of the root signature that can contain shader resource views (SRVs), unordered access views (UAVs), constant buffers, or sampler states. They can also contain a range of descriptors.

Interface Identifier

interface ID3D12RootSignature : public ID3D12DeviceChild;

Remarks

The root signature is a critical component in managing shader data binding in Direct3D 12. It allows for flexible and explicit control over how data is accessed by shaders. Instead of relying on implicit binding slots, the root signature defines the exact layout and types of resources that shaders can access.

Root signatures are created by calling ID3D12Device::CreateRootSignature. The creation process involves defining the root signature's structure using structures like D3D12_ROOT_SIGNATURE_DESC and an array of D3D12_ROOT_PARAMETER structures.

Tip: Understanding the different types of root parameters (descriptor tables, constant buffers, root constants, samplers) is crucial for efficient resource management and performance optimization in Direct3D 12 applications.

Methods

The ID3D12RootSignature interface inherits from ID3D12DeviceChild.

See Also

Requirements

Requirement Description
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Header d3d12.h
Library d3d12.lib
DLL d3d12.dll