Поделиться через


функция обратного вызова PFND3D12DDI_SHADERCACHESTOREVALUE_CB_0021 (d3d12umddi.h)

Функция обратного вызова pfnShaderCacheStoreValueCb сохраняет значение в кэше шейдера.

Синтаксис

PFND3D12DDI_SHADERCACHESTOREVALUE_CB_0021 Pfnd3d12ddiShadercachestorevalueCb0021;

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

Параметры

hRTDevice

[in] Обработка представления устройства в среде выполнения.

hRTPSO

[in] Обработка представления объекта состояния конвейера в среде выполнения.

pPrecomputedHash

[in] Указатель на структуру D3D12DDI_SHADERCACHE_HASH , которая содержит предварительно вычисляемое хэш-значение, используемое для вставки кэша.

pKey

[in] Указатель на ключ, связанный со значением, которое будет храниться в кэше шейдера драйвера. Ключ однозначно идентифицирует данные шейдера в кэше.

KeyLen

[in] Длина ключа, на который указывает pKey , в байтах.

pValue

[in] Указатель на данные, которые будут храниться в кэше шейдера.

ValueLen

[in] Длина буфера, на который указывает pValue , в байтах.

Возвращаемое значение

Если эта функция обратного вызова завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Обратные вызовы pfnShaderCacheStoreValueCb и pfnShaderCacheGetValueCb используются для хранения и извлечения скомпилированного кода шейдера или других связанных с шейдерами данных в кэше шейдеров драйвера. Кэширование помогает повысить производительность, уменьшая необходимость повторной компиляции шейдеров, которые уже были скомпилированы и кэшированы.

Получите доступ к этому обратному вызову с помощью структуры D3D12DDI_SHADERCACHE_CALLBACKS_0021 .

Требования

Требование Значение
Целевая платформа Windows
Header d3d12umddi.h (включая D3d12umddi.h)

См. также раздел

D3D12DDI_SHADERCACHE_CALLBACKS_0021

pfnShaderCacheGetValueCb