Partager via


structure D3DDDI_MAPGPUVIRTUALADDRESS (d3dukmdt.h)

La structure D3DDDI_MAPGPUVIRTUALADDRESS est utilisée avec pfnMapGpuVirtualAddressCb pour mapper une plage d’adresses virtuelles GPU à une plage d’allocation spécifique ou pour la placer dans l’état non valide ou Zéro.

Syntaxe

typedef struct D3DDDI_MAPGPUVIRTUALADDRESS {
  D3DKMT_HANDLE                           hPagingQueue;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   BaseAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   MinimumAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   MaximumAddress;
  D3DKMT_HANDLE                           hAllocation;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T            OffsetInPages;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T            SizeInPages;
  D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE Protection;
  D3DKMT_ALIGN64 UINT64                   DriverProtection;
  UINT                                    Reserved0;
  D3DKMT_ALIGN64 UINT64                   Reserved1;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   VirtualAddress;
  D3DKMT_ALIGN64 UINT64                   PagingFenceValue;
} D3DDDI_MAPGPUVIRTUALADDRESS;

Membres

hPagingQueue

Handle pour la file d’attente de pagination de l’appareil, utilisé pour l’opération.

BaseAddress

(Facultatif) Si la valeur n’est pas NULL, le gestionnaire de mémoire vidéo tente d’utiliser cette adresse comme adresse de base pour le mappage. Si la plage de BaseAddress à BaseAddress+Size n’est pas gratuite, elle doit appartenir à une plage, précédemment obtenue en appelant pfnReserveGpuVirtualAddressCb ou pfnMapGpuVirtualAddressCb.

La valeur BaseAddress est en octets et doit être alignée sur la limite de page processeur. Si la valeur NULL est spécifiée, le gestionnaire de mémoire vidéo sélectionne l’adresse de base de l’allocation dans le MinimumAddress spécifié et MaximumAddress.

MinimumAddress

(Facultatif) Spécifie l’adresse virtuelle GPU minimale à prendre en compte pour la plage mappée.

La valeur MinimumAddress est en octets et doit être alignée sur la page 4 Ko. Ce paramètre est ignoré lorsque BaseAddress != NULL.

MaximumAddress

(Facultatif) Spécifie l’adresse virtuelle GPU maximale à prendre en compte pour la plage mappée. le gestionnaire de mémoire vidéo garantit que BaseAddress+Size<= MaximumAddress. Si maximumAddress a la valeur NULL, le gestionnaire de mémoire vidéo n’applique aucune limite.

La valeur MaximumAddress est en octets et doit être alignée sur la page 4 Ko. Ce paramètre est ignoré lorsque BaseAddress != NULL.

hAllocation

Gérez l’allocation mappée dans l’espace d’adressage virtuel GPU. Doit être NULL quand Protection.NoAccess ou Protection.Zero est spécifié.

OffsetInPages

Spécifie le décalage, en 4 Ko, vers la page de démarrage dans l’allocation spécifiée qui doit être mappée.

SizeInPages

Spécifie la taille de la plage à mapper, en pages 4 Ko.

Protection

Structure D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE qui spécifie la protection sur l’adresse virtuelle GPU mappée.

DriverProtection

Spécifie une valeur de protection 64 bits spécifique au pilote associée à la plage VA allouée. La protection de pilote spécifiée sera utilisée dans l’appel à DxgkDdiUpdatePageTable pour les entrées de table de pages correspondant à cette plage d’adresses virtuelles.

Reserved0

Ce membre est réservé et doit être défini sur zéro.

Reserved1

Ce membre est réservé et doit être défini sur zéro.

VirtualAddress

Adresse virtuelle affectée à l’allocation.

PagingFenceValue

Valeur de clôture de pagination de l’appareil que le gestionnaire de mémoire vidéo signale lorsque l’opération de carte se termine sur le GPU. Le pilote en mode utilisateur doit s’assurer que cette clôture est supprimée ou attende explicitement le processeur ou le GPU sur cette clôture avant d’autoriser le GPU à accéder à la plage mappée ou à une erreur irrécupérable. Une valeur de clôture zéro peut être retournée, ce qui signifie que l’opération est déjà terminée.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10
serveur minimum pris en charge Windows Server 2016
d’en-tête d3dukmdt.h (include D3dumddi.h, D3dkmddi.h)

Voir aussi

D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE

D3DKMTMapGpuVirtualAddress

DxgkDdiUpdatePageTable

pfnMapGpuVirtualAddressCb

pfnReserveGpuVirtualAddressCb