PFND3D12DDI_SHADERCACHEGETVALUE_CB_0021 콜백 함수(d3d12umddi.h)

pfnShaderCacheGetValueCb 콜백 함수는 셰이더 캐시에 저장된 값을 가져옵니다.

구문

PFND3D12DDI_SHADERCACHEGETVALUE_CB_0021 Pfnd3d12ddiShadercachegetvalueCb0021;

HRESULT Pfnd3d12ddiShadercachegetvalueCb0021(
  D3D12DDI_HRTDEVICE hRTDevice,
  D3D12DDI_HRTPIPELINESTATE hRTPSO,
  const D3D12DDI_SHADERCACHE_HASH *pPrecomputedHash,
  const void *pKey,
  SIZE_T KeyLen,
  void *pValue,
  SIZE_T *pValueLen
)
{...}

매개 변수

hRTDevice

[in] 디바이스의 런타임 표현을 처리합니다.

hRTPSO

[in] 파이프라인 상태 개체의 런타임 표현을 처리합니다.

pPrecomputedHash

[in] 캐시 조회에 사용할 해시 값을 포함하는 D3D12DDI_SHADERCACHE_HASH 구조체입니다.

pKey

[in] 드라이버의 셰이더 캐시에서 검색할 값과 연결된 키에 대한 포인터입니다. 키는 캐시의 셰이더 데이터를 고유하게 식별합니다.

KeyLen

[in] pKey 가 가리키는 키의 길이(바이트)입니다.

pValue

[out] pPrecomputedHashpKey로 식별된 셰이더와 연결된 컴파일된 셰이더 코드 또는 기타 데이터에 대한 포인터입니다. pValueLen이 0인 경우 이 매개 변수는 NULL일 수 있습니다.

pValueLen

[in/out] pValue 가 가리키는 버퍼의 길이를 바이트 단위로 지정하는 변수에 대한 포인터입니다. 입력 시 이 변수는 버퍼의 크기를 지정합니다. 출력에서 버퍼에 기록된 데이터의 크기를 지정합니다. pValueLen이 0으로 설정되고 pValue가 NULL인 경우 pfnShaderCacheGetValueCb는 두 번째 호출에서 데이터에 필요한 바이트 수를 작성해야 합니다. 그렇지 않으면 pValue 가 가리키는 버퍼가 너무 작으면 함수가 실패합니다.

반환 값

이 콜백 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

pfnShaderCacheStoreValueCbpfnShaderCacheGetValueCb 콜백은 드라이버의 셰이더 캐시에 컴파일된 셰이더 코드 또는 기타 셰이더 관련 데이터를 저장하고 검색하는 데 사용됩니다. 캐싱은 이미 컴파일 및 캐시된 셰이더를 다시 컴파일할 필요가 없도록 하여 성능을 향상시키는 데 도움이 됩니다.

D3D12DDI_SHADERCACHE_CALLBACKS_0021 구조를 사용하여 이 콜백에 액세스합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d12umddi.h(D3d12umddi.h 포함)

추가 정보

D3D12DDI_SHADERCACHE_CALLBACKS_0021

pfnShaderCacheStoreValueCb