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] pPrecomputedHash 및 pKey로 식별된 셰이더와 연결된 컴파일된 셰이더 코드 또는 기타 데이터에 대한 포인터입니다. pValueLen이 0인 경우 이 매개 변수는 NULL일 수 있습니다.
pValueLen
[in/out] pValue 가 가리키는 버퍼의 길이를 바이트 단위로 지정하는 변수에 대한 포인터입니다. 입력 시 이 변수는 버퍼의 크기를 지정합니다. 출력에서 버퍼에 기록된 데이터의 크기를 지정합니다. pValueLen이 0으로 설정되고 pValue가 NULL인 경우 pfnShaderCacheGetValueCb는 두 번째 호출에서 데이터에 필요한 바이트 수를 작성해야 합니다. 그렇지 않으면 pValue 가 가리키는 버퍼가 너무 작으면 함수가 실패합니다.
반환 값
이 콜백 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
pfnShaderCacheStoreValueCb 및 pfnShaderCacheGetValueCb 콜백은 드라이버의 셰이더 캐시에 컴파일된 셰이더 코드 또는 기타 셰이더 관련 데이터를 저장하고 검색하는 데 사용됩니다. 캐싱은 이미 컴파일 및 캐시된 셰이더를 다시 컴파일할 필요가 없도록 하여 성능을 향상시키는 데 도움이 됩니다.
D3D12DDI_SHADERCACHE_CALLBACKS_0021 구조를 사용하여 이 콜백에 액세스합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d12umddi.h(D3d12umddi.h 포함) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기