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

# GetShaderStackSize (XBOX Series 콘솔)

> HLSL에서 레이트레이싱 셰이더를 호출하는 데 필요한 스택 메모리 양을 가져옵니다.

HLSL에서 레이트레이싱 셰이더를 호출하는 데 필요한 스택 메모리 양을 가져옵니다.

## 구문

```cpp theme={null}
UINT64 GetShaderStackSize(
    LPCWSTR pExportName
)
```

### 매개 변수

*pExportName*\
형식: LPCWSTR

스택 크기를 검색할 상태 객체의 셰이더 진입점입니다. 히트 그룹의 경우, 히트 그룹 내의 개별 셰이더를 다음 구문을 사용하여 지정해야 합니다:

hitGroupName::shaderType

여기서 <i>hitGroupName</i>은 히트 그룹의 진입점 이름이고, <i>shaderType</i>은 다음 중 하나입니다:

<ul>
  <li>intersection</li>
  <li>anyhit</li>
  <li>closesthit</li>
</ul>

이 값들은 모두 대소문자를 구분합니다.

예시 값: "myTreeLeafHitGroup::anyhit".

### 반환 값

형식: UINT64

셰이더를 호출하는 데 필요한 스택 메모리 양(바이트 단위)입니다. 셰이더가 상태 객체에서 완전히 해석되지 않았거나, 셰이더가 알려지지 않았거나, 히트 그룹과 같이 스택 크기가 관련이 없는 유형인 경우 반환 값은 0xffffffff입니다. UINT64 반환 값에 32비트 0xffffffff 값을 사용하는 것은 전체 파이프라인 스택 크기를 계산하는 과정에서 다른 값과 함께 합산될 때 잘못된 반환 값이 손실되지 않도록 하기 위함입니다.

## 설명

이 메서드는 앱이 보수적인 기본 스택 크기에 의존하는 대신 [SetPipelineStackSize](/reference/graphics/d3d12/interfaces/id3d12stateobjectproperties/methods/id3d12stateobjectproperties_setpipelinestacksize_public)를 호출하여 스택 크기를 구성하려는 경우에만 호출해야 합니다. 이 메서드는 광선 생성 셰이더, 히트 그룹, 미스 셰이더 및 호출 가능 셰이더에만 유효합니다. 광선 생성 셰이더조차도 스택의 맨 아래에 있지만 0이 아닌 값을 반환할 수 있습니다.

히트 그룹의 경우, 그것을 구성하는 개별 셰이더(교차 셰이더, 애니 히트 셰이더, 클로지스트 히트 셰이더)에 대해 스택 크기를 조회해야 하며, 각각은 아마도 다른 스택 크기 요구 사항을 가질 것입니다. 이러한 개별 셰이더에 대해 스택 크기를 직접 조회할 수는 없습니다. 그들이 컴파일되는 방식이 그들을 포함하는 전체 히트 그룹의 영향을 받을 수 있기 때문입니다. <i>pExportName</i> 매개 변수에는 히트 그룹 내의 개별 셰이더를 식별하는 구문이 포함되어 있습니다.

이 API는 컬렉션 상태 객체 또는 레이트레이싱 파이프라인 상태 객체 어느 쪽에서도 호출할 수 있습니다.

## 요구 사항

**헤더:** d3d12\_xs.h\
**라이브러리:** d3d12\_xs.lib\
**지원 플랫폼**: XBOX Series 콘솔

## 함께 보기

[ID3D12StateObjectProperties](/reference/graphics/d3d12_xs/interfaces/ID3D12StateObjectProperties/id3d12stateobjectproperties)


## Related topics

- [SetPipelineStackSize (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12stateobjectproperties/methods/id3d12stateobjectproperties_setpipelinestacksize_public.md)
- [GetPipelineStackSize (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12stateobjectproperties/methods/id3d12stateobjectproperties_getpipelinestacksize_public.md)
- [GetShaderIdentifier (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12stateobjectproperties/methods/id3d12stateobjectproperties_getshaderidentifier_public.md)
- [D3D12_RAYTRACING_SHADER_CONFIG (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/structs/d3d12_raytracing_shader_config_public.md)
- [ShaderCacheControl (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_shadercachecontrol_public.md)
