PFND3D12DDI_SHADERCACHEGETVALUE_CB_0021 fonction de rappel (d3d12umddi.h)
La fonction de rappel pfnShaderCacheGetValueCb obtient une valeur stockée dans le cache du nuanceur.
Syntaxe
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
)
{...}
Paramètres
hRTDevice
[in] Gérez la représentation du runtime de l’appareil.
hRTPSO
[in] Gérez la représentation du runtime d’un objet d’état de pipeline.
pPrecomputedHash
[in] Structure D3D12DDI_SHADERCACHE_HASH qui contient la valeur de hachage à utiliser pour la recherche dans le cache.
pKey
[in] Pointeur vers la clé associée à la valeur à récupérer à partir du cache du nuanceur du pilote. La clé identifie de manière unique les données du nuanceur dans le cache.
KeyLen
[in] Longueur de la clé qui clé pKey pointe vers, en octets.
pValue
[out] Pointeur vers le code de nuanceur compilé ou d’autres données associées au nuanceur identifié par pPrecomputedHash et pKey. Ce paramètre peut être NULL si pValueLen est égal à zéro.
pValueLen
[in/out] Pointeur vers une variable qui spécifie la longueur de la mémoire tampon qui pValue pointe vers, en octets. Lors de l’entrée, cette variable spécifie la taille de la mémoire tampon. En sortie, elle spécifie la taille des données écrites dans la mémoire tampon. Si pValueLen a la valeur zéro et pValue a la valeur NULL, pfnShaderCacheGetValueCb doit écrire le nombre d’octets nécessaires pour les données dans un deuxième appel. Sinon, si la mémoire tampon qui pValue points est trop petite, la fonction doit échouer.
Valeur de retour
Si pfnShaderCacheGetValueCb réussit, elle retourne S_OK. Sinon, elle retourne un HRESULT code d’erreur.
Remarques
Les rappels pfnShaderCacheStoreValueCb et pfnShaderCacheGetValueCb sont utilisés pour stocker et récupérer du code de nuanceur compilé ou d’autres données liées au nuanceur dans le cache du nuanceur du pilote. La mise en cache permet d’améliorer les performances en réduisant la nécessité de recompiler les nuanceurs qui ont déjà été compilés et mis en cache.
Accédez à ce rappel à l’aide de la structure D3D12DDI_SHADERCACHE_CALLBACKS_0021.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Windows |
d’en-tête | d3d12umddi.h (include D3d12umddi.h) |