Freigeben über


PFND3D12DDI_SHADERCACHEGETVALUE_CB_0021 Rückruffunktion (d3d12umddi.h)

Die pfnShaderCacheGetValueCb Rückruffunktion ruft einen Wert ab, der im Shadercache gespeichert ist.

Syntax

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
)
{...}

Parameter

hRTDevice

[in] Behandeln Sie die Darstellung des Geräts der Laufzeit.

hRTPSO

[in] Behandeln sie die Darstellung eines Pipelinestatusobjekts der Laufzeit.

pPrecomputedHash

[in] Eine D3D12DDI_SHADERCACHE_HASH Struktur, die den für die Cachesuche zu verwendenden Hashwert enthält.

pKey

[in] Ein Zeiger auf den Schlüssel, der dem Wert zugeordnet ist, der aus dem Shadercache des Treibers abgerufen werden soll. Der Schlüssel identifiziert die Shaderdaten im Cache eindeutig.

KeyLen

[in] Die Länge des Schlüssels, auf den pKey in Bytes .

pValue

[out] Ein Zeiger auf den kompilierten Shadercode oder andere Daten, die dem Shader zugeordnet sind, der durch pPrecomputedHash- und pKey-identifiziert wird. Dieser Parameter kann NULL sein, wenn pValueLen- null ist.

pValueLen

[in/out] Zeiger auf eine Variable, die die Länge des Puffers angibt, auf den pValue in Bytes verweist. Bei Eingaben gibt diese Variable die Größe des Puffers an. Bei der Ausgabe gibt sie die Größe der Daten an, die in den Puffer geschrieben wurden. Wenn pValueLen- auf Null festgelegt ist und pValue- NULL ist, sollte pfnShaderCacheGetValueCb- die Anzahl der Bytes schreiben, die für die Daten in einem zweiten Aufruf erforderlich sind. Andernfalls sollte die Funktion fehlschlagen, wenn der Puffer , auf den pValue, zu klein ist.

Rückgabewert

Wenn pfnShaderCacheGetValueCb erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.

Bemerkungen

Die pfnShaderCacheStoreValueCb und pfnShaderCacheGetValueCb Rückrufe werden verwendet, um kompilierten Shadercode oder andere shaderbezogene Daten im Shadercache des Treibers zu speichern und abzurufen. Die Zwischenspeicherung trägt zur Verbesserung der Leistung bei, indem die Notwendigkeit reduziert wird, die bereits kompilierten und zwischengespeicherten Shader neu kompiliert und zwischengespeichert wurden.

Greifen Sie mithilfe der D3D12DDI_SHADERCACHE_CALLBACKS_0021-Struktur auf diesen Rückruf zu.

Anforderungen

Anforderung Wert
Zielplattform- Fenster
Header- d3d12umddi.h (einschließlich D3d12umddi.h)

Siehe auch

D3D12DDI_SHADERCACHE_CALLBACKS_0021

pfnShaderCacheStoreValueCb