PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB fonction de rappel (d3dumddi.h)
pfnUpdateGpuVirtualAddressCb est une opération spéciale utilisée dans le contexte des ressources de vignette. Il permet au pilote en mode utilisateur de spécifier un certain nombre d’opérations de mappage à appliquer à l’espace d’adressage virtuel du processus dans un seul lot de mises à jour de table de pages.
La plage d’adresses virtuelles d’unité de traitement graphique (GPU) dans toutes les opérations (à l’exception de l’adresse source des opérations de copie) doit appartenir à une seule plage d’adresses virtuelles obtenue en appelant pfnReserveGpuVirtualAddressCb. De même, les plages d’adresses virtuelles de toutes les sources dans les opérations de copie doivent appartenir à une plage d’adresses virtuelle unique, obtenue en appelant pfnReserveGpuVirtualAddressCb.
Les mises à jour des tables de pages sont exécutées sur un contexte de pagination, dédiée au contexte de rendu spécifié et exécutées sur le GPU uniquement après que le contexte de rendu associé a signalé FenceValue pour l’objet de clôture surveillé spécifié. Une fois les mises à jour de la table de pages terminées, le contexte de pagination signale l’objet de clôture surveillé à FenceValue+1, ce qui permet au contexte de rendu d’effectuer un verrouillage étroit avec les mises à jour de la table de pages.
Syntaxe
PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;
HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
HANDLE hDevice,
const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}
Paramètres
hDevice
Handle pour le périphérique d’affichage.
unnamedParam2
pData [in]
Pointeur vers une structure D3DDDICB_UPDATEGPUVIRTUALADDRESS qui décrit l’opération à effectuer.
Valeur retournée
Si cette fonction de rappel réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Les plages d’adresses virtuelles dans les opérations de mise à jour sont autorisées à se croiser. Les opérations sont appliquées dans l’ordre dans lequel elles sont envoyées.
Dans un seul appel pfnUpdateVirtualAddressCb :
- Toutes les plages d’adresses virtuelles dans les opérations de mappage et la plage de destination dans les opérations de copie doivent appartenir à la même plage réservée (zéro).
- La plage d’adresses virtuelles sources dans les opérations de copie est autorisée à provenir d’une autre plage réservée (zéro).
- La plage d’adresses virtuelles sources dans toutes les opérations de copie doit appartenir à la même plage réservée (zéro).
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dumddi.h (inclure D3dumddi.h) |