функция обратного вызова 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. Этот параметр может иметь значение NULL, если значение pValueLen равно нулю.
pValueLen
[вход/выход] Указатель на переменную, указывающую длину буфера, на который указывает значение pValue , в байтах. На входных данных эта переменная задает размер буфера. В выходных данных указывается размер данных, записанных в буфер. Если значение pValueLen равно нулю, а значение pValue равно NULL, pfnShaderCacheGetValueCb должен записать количество байтов, необходимое для данных во время второго вызова. В противном случае, если буфер, на который указывает значение pValue , слишком мал, функция должна завершиться ошибкой.
Возвращаемое значение
Если эта функция обратного вызова выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Обратные вызовы pfnShaderCacheStoreValueCb и pfnShaderCacheGetValueCb используются для хранения и извлечения скомпилированного кода шейдера или других данных, связанных с шейдерами, в кэше шейдеров драйвера. Кэширование помогает повысить производительность, уменьшая необходимость повторной компиляции шейдеров, которые уже были скомпилированы и кэшированы.
Получите доступ к этому обратному вызову с помощью структуры D3D12DDI_SHADERCACHE_CALLBACKS_0021 .
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | d3d12umddi.h (включая D3d12umddi.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по