> ## 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](/ja-jp/reference/graphics/d3d12/enums/d3d12_state_subobject_type_public.md)
- [D3D12_ROOT_SIGNATURE_DESC](/ja-jp/reference/graphics/d3d12/structs/d3d12_root_signature_desc_public.md)
- [D3D12_VERSIONED_ROOT_SIGNATURE_DESC](/ja-jp/reference/graphics/d3d12/structs/d3d12_versioned_root_signature_desc_public.md)
- [D3D12_LOCAL_ROOT_SIGNATURE](/ja-jp/reference/graphics/d3d12/structs/d3d12_local_root_signature_public.md)
- [D3D12_ROOT_SIGNATURE_DESC1](/ja-jp/reference/graphics/d3d12/structs/d3d12_root_signature_desc1_public.md)
