> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_ROOT_SIGNATURE_DESC

> Describes the layout of a root signature version 1.0.

Describes the layout of a root signature version 1.0.

## Syntax

```cpp theme={null}
typedef struct D3D12_ROOT_SIGNATURE_DESC
{
    UINT NumParameters;
    const D3D12_ROOT_PARAMETER  pParameters;
    UINT NumStaticSamplers;
    const D3D12_STATIC_SAMPLER_DESC  pStaticSamplers;
    D3D12_ROOT_SIGNATURE_FLAGS Flags;
} D3D12_ROOT_SIGNATURE_DESC
```

### Members

*NumParameters*\
Type: UINT

The number of slots in the root signature. This number is also the number of elements in the <i>pParameters</i> array.

*pParameters*\
Type: const D3D12\_ROOT\_PARAMETER \*

An array of [D3D12\_ROOT\_PARAMETER](/reference/graphics/d3d12/structs/d3d12_root_parameter_public) structures for the slots in the root signature.

*NumStaticSamplers*\
Type: UINT

Specifies the number of static samplers.

*pStaticSamplers*\
Type: const D3D12\_STATIC\_SAMPLER\_DESC \*

Pointer to one or more [D3D12\_STATIC\_SAMPLER\_DESC](/reference/graphics/d3d12/structs/d3d12_static_sampler_desc_public) structures.

*Flags*\
Type: D3D12\_ROOT\_SIGNATURE\_FLAGS

A combination of [D3D12\_ROOT\_SIGNATURE\_FLAGS](/reference/graphics/d3d12_xs/enums/d3d12_root_signature_flags_xs)-typed values that are combined by using a bitwise OR operation.
The resulting value specifies options for the root signature layout.

## Remarks

This structure is used by the [D3D12SerializeRootSignature](/reference/graphics/d3d12/functions/d3d12serializerootsignature_public) function
and is returned by the [ID3D12RootSignatureDeserializer::GetRootSignatureDesc](/reference/graphics/d3d12/interfaces/id3d12rootsignaturedeserializer/methods/id3d12rootsignaturedeserializer_getrootsignaturedesc_public) method.

There is one graphics root signature, and one compute root signature.

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h\
**Library:** d3d12\_xs.lib or d3d12\_x.lib\
**Supported Platforms**: XBOX Series consoles and XBOX One family

## See Also

[CD3DX12\_ROOT\_SIGNATURE\_DESC](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/cd3dx12-root-signature-desc)

[Core Structures](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)

[Creating a Root Signature](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/creating-a-root-signature)

[D3D12\_ROOT\_PARAMETER\_TYPE](/reference/graphics/d3d12/enums/d3d12_root_parameter_type_public)

[D3D12\_ROOT\_SIGNATURE\_DESC1](/reference/graphics/d3d12/structs/d3d12_root_signature_desc1_public)

[D3D12\_VERSIONED\_ROOT\_SIGNATURE\_DESC](/reference/graphics/d3d12/structs/d3d12_versioned_root_signature_desc_public)

[Using constants directly in the root signature](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/using-constants-directly-in-the-root-signature)

[Using descriptors directly in the root signature](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/using-descriptors-directly-in-the-root-signature)


## Related topics

- [D3D12_VERSIONED_ROOT_SIGNATURE_DESC](/reference/graphics/d3d12/structs/d3d12_versioned_root_signature_desc_public.md)
- [D3D12_ROOT_SIGNATURE_DESC1](/reference/graphics/d3d12/structs/d3d12_root_signature_desc1_public.md)
- [D3D12SerializeRootSignature](/reference/graphics/d3d12/functions/d3d12serializerootsignature_public.md)
- [CreateRootSignature](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createrootsignature_public.md)
- [ID3D12RootSignatureDeserializer](/reference/graphics/d3d12/interfaces/id3d12rootsignaturedeserializer/id3d12rootsignaturedeserializer_public.md)
