> ## 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_GLOBAL_ROOT_SIGNATURE

> 定义将与关联的着色器一起使用的全局根签名状态子对象。

定义将与关联的着色器一起使用的全局根签名状态子对象。

## 语法

```cpp theme={null}
typedef struct D3D12_GLOBAL_ROOT_SIGNATURE
{
    ID3D12RootSignature  pGlobalRootSignature;
} D3D12_GLOBAL_ROOT_SIGNATURE
```

### 成员

*pGlobalRootSignature*\
类型:ID3D12RootSignature \*

将作为全局根签名的根签名。状态对象持有对此签名的引用。

## 备注

此子对象在状态对象中的存在是可选的。与任何给定着色器函数关联的全局和/或本地根签名的组合必须定义着色器声明的所有资源绑定,且全局根签名和本地根签名之间没有重叠。

如果调用图中的任何给定函数与特定全局根签名相关联,则图中的任何其他函数必须与相同的全局根签名相关联或不相关联,并且着色器入口点(调用图的根)必须与全局根签名相关联。

不同的着色器可以在状态对象内使用不同的全局根签名(或不使用),但是在命令列表的特定 [DispatchRays](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_dispatchrays_public) 操作期间引用的任何着色器必须已指定与命令列表上设置的计算根签名相同的全局根签名。因此,定义一个大型状态对象是有效的,其中多个全局根签名与不同的着色器子集相关联。应用程序不会仅因某些着色器使用不同的全局根签名而被迫拆分其状态对象。

## 要求

**头文件:** d3d12\_xs.h 或 d3d12\_x.h\
**库:** d3d12\_xs.lib 或 d3d12\_x.lib\
**支持的平台**:XBOX Series 主机和 XBOX One 系列


## Related topics

- [D3D12_STATE_SUBOBJECT_TYPE](/zh-CN/reference/graphics/d3d12/enums/d3d12_state_subobject_type_public.md)
- [D3D12_ROOT_SIGNATURE_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_root_signature_desc_public.md)
- [D3D12_VERSIONED_ROOT_SIGNATURE_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_versioned_root_signature_desc_public.md)
- [D3D12_LOCAL_ROOT_SIGNATURE](/zh-CN/reference/graphics/d3d12/structs/d3d12_local_root_signature_public.md)
- [D3D12SerializeRootSignature](/zh-CN/reference/graphics/d3d12/functions/d3d12serializerootsignature_public.md)
