> ## 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](/zh-TW/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-TW/reference/graphics/d3d12/enums/d3d12_state_subobject_type_public.md)
- [D3D12_ROOT_SIGNATURE_DESC](/zh-TW/reference/graphics/d3d12/structs/d3d12_root_signature_desc_public.md)
- [D3D12_VERSIONED_ROOT_SIGNATURE_DESC](/zh-TW/reference/graphics/d3d12/structs/d3d12_versioned_root_signature_desc_public.md)
- [D3D12_LOCAL_ROOT_SIGNATURE](/zh-TW/reference/graphics/d3d12/structs/d3d12_local_root_signature_public.md)
- [D3D12SerializeRootSignature](/zh-TW/reference/graphics/d3d12/functions/d3d12serializerootsignature_public.md)
