D3DDDI_MAPGPUVIRTUALADDRESS Struktur (d3dukmdt.h)

Die D3DDDI_MAPGPUVIRTUALADDRESS-Struktur wird mit pfnMapGpuVirtualAddressCb verwendet, um einen virtuellen GPU-Adressbereich einem bestimmten Zuordnungsbereich zuzuordnen oder ihn in den Status "Ungültig" oder "Null " zu versetzen.

Syntax

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;

Member

hPagingQueue

Ein Handle für die Geräte paging-Warteschlange, die für den Vorgang verwendet wird.

BaseAddress

(Optional) Wenn kein NULL-Wert besteht, versucht der Videospeicher-Manager, diese Adresse als Basisadresse für die Zuordnung zu verwenden. Wenn der Bereich von BaseAddress bis BaseAddress+Size nicht frei ist, muss er zu einem Bereich gehören, der zuvor durch Aufrufen von pfnReserveGpuVirtualAddressCb oder pfnMapGpuVirtualAddressCb abgerufen wurde.

Der BaseAddress-Wert ist in Bytes und muss an der CPU-Seitengrenze ausgerichtet werden. Wenn NULL angegeben ist, wählt der Videospeicher-Manager die Basisadresse für die Zuordnung innerhalb der angegebenen MinimumAddress und MaximumAddress aus.

MinimumAddress

(Optional) Gibt die minimale virtuelle GPU-Adresse an, die für den zugeordneten Bereich berücksichtigt werden soll.

Der MinimumAddress-Wert ist in Bytes und muss an der Seite mit 4 KB ausgerichtet werden. Dieser Parameter wird ignoriert, wenn BaseAddress != NULL.

MaximumAddress

(Optional) Gibt die maximale virtuelle GPU-Adresse an, die für den zugeordneten Bereich berücksichtigt werden soll. der Videospeicher-Manager garantiert, dass BaseAddress+Size<= MaximumAddress. Wenn MaximumAddress auf NULL festgelegt ist, wendet der Videospeicher-Manager kein Limit an.

Der Wert MaximumAddress ist in Bytes und muss an der Seite mit 4 KB ausgerichtet werden. Dieser Parameter wird ignoriert, wenn BaseAddress != NULL.

hAllocation

Behandeln Sie die Zuordnung, die dem virtuellen GPU-Adressraum zugeordnet wird. Muss NULL sein, wenn Protection.NoAccess oder Protection.Zero angegeben wird.

OffsetInPages

Gibt den Offset in 4 KB auf die Startseite innerhalb der angegebenen Zuordnung an, die zugeordnet werden muss.

SizeInPages

Gibt die Größe des zu zuordnenden Bereichs in 4 KB-Seiten an.

Protection

Eine D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE-Struktur , die den Schutz für die zugeordnete virtuelle GPU-Adresse angibt.

DriverProtection

Gibt einen treiberspezifischen 64-Bit-Schutzwert an, der dem zugeordneten VA-Bereich zugeordnet ist. Der angegebene Treiberschutz wird beim Aufruf von DxgkDdiUpdatePageTable für Seitentabelleneinträge verwendet, die diesem virtuellen Adressbereich entsprechen.

Reserved0

Dieser Member ist reserviert und sollte auf null festgelegt werden.

Reserved1

Dieser Member ist reserviert und sollte auf null festgelegt werden.

VirtualAddress

Die der Zuordnung zugewiesene virtuelle Adresse.

PagingFenceValue

Der Wert des Geräteauslagerungszauns, den der Videospeicher-Manager beim Abschluss des Kartenvorgangs auf der GPU signalisiert. Der Benutzermodustreiber muss sicherstellen, dass dieser Zaun eingestellt wird oder explizit auf die CPU oder die GPU auf diesem Zaun warten, bevor die GPU auf den zugeordneten Bereich zugreifen kann, oder es kann ein nicht behebbarer Fehler auftreten. Es kann ein Wert ohne Zaun zurückgegeben werden, was bedeutet, dass der Vorgang bereits abgeschlossen ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Kopfzeile d3dukmdt.h (einschließlich D3dumddi.h, D3dkmddi.h)

Weitere Informationen

D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE

D3DKMTMapGpuVirtualAddress

DxgkDdiUpdatePageTable

pfnMapGpuVirtualAddressCb

pfnReserveGpuVirtualAddressCb