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