DXGK_DEVICEINFO-Struktur (d3dkmddi.h)

Die DXGK_DEVICEINFO-Struktur beschreibt Parameter, die das Microsoft DirectX-Grafikkernsystem vom Anzeigeminiporttreiber erfordert.

Syntax

typedef struct _DXGK_DEVICEINFO {
  [out] UINT                 DmaBufferSize;
  [out] UINT                 DmaBufferSegmentSet;
  [out] UINT                 DmaBufferPrivateDataSize;
  [out] UINT                 AllocationListSize;
  [out] UINT                 PatchLocationListSize;
  [out] DXGK_DEVICEINFOFLAGS Flags;
} DXGK_DEVICEINFO;

Member

[out] DmaBufferSize

Die Größe des Puffers von Hardwarebefehlen in Bytes, der über den direkten Speicherzugriff (DMA) an die Hardware gesendet wird.

Der DMA-Puffer kann vergrößert und verkleinern, nachdem das Gerät erstellt wurde. Der DMA-Puffer kann jedoch niemals kleiner als die von DmaBufferSize festgelegte Startgröße verkleinern.

[out] DmaBufferSegmentSet

Die Bezeichner der Segmente, in denen die DMA-Puffer für die Grafikverarbeitungseinheit (GPU) zugänglich gemacht werden sollen.

[out] DmaBufferPrivateDataSize

Die Größe der treiberresidenten privaten Datenstruktur in Bytes, die jedem DMA-Puffer zugeordnet ist. Der Arbeitsspeicher für diese private Datenstruktur wird aus einem nicht auslagerten Pool zugeordnet. Wenn der Treiber null in DmaBufferPrivateDataSize angibt, wird kein Arbeitsspeicher für die private Datenstruktur zugewiesen.

Die private Datenstruktur, die einem DMA-Puffer zugeordnet ist, wird beim Erstellen des DMA-Puffers auf Null initialisiert. Während der Lebensdauer des DMA-Puffers greift der Videospeicher-Manager nie auf die private Datenstruktur zu, die dem DMA-Puffer zugeordnet ist.

[out] AllocationListSize

Die Anfangsanzahl von Elementen in einem Array von Zuordnungen (d. a. ein Array von DXGK_ALLOCATIONLIST Strukturen). Diese Zahl ist die Anfangsanzahl von Zuordnungen, die der Treiber anfordert, sich in den pAllocationList-Membern von DXGKARG_PRESENT und DXGKARG_RENDER Strukturen in Aufrufen der DxgkDdiPresent - und DxgkDdiRender-Funktionen des Treibers zu sein.

Die Zuordnungsliste kann vergrößert und verkleinern, nachdem das Gerät erstellt wurde. Die Zuordnungsliste kann jedoch niemals kleiner als die von AllocationListSize festgelegte Anfangsgröße werden.

[out] PatchLocationListSize

Die Anfangsanzahl von Elementen in einem Array von Patchspeicherorten (d. h. ein Array von D3DDDI_PATCHLOCATIONLIST Strukturen) für das Gerät im Benutzer- und Kernelmodus. Diese Zahl ist die Startnummer von Patchspeicherorten, die der Treiber anfordert, sich in den pPatchLocationListIn-MembernDXGKARG_RENDER Strukturen in Aufrufen der DxgkDdiRender-Funktion zu befinden.

Die Liste der Patchspeicherorte kann vergrößert und verkleinern, nachdem das Gerät erstellt wurde. Die Liste der Patchspeicherorte kann jedoch niemals kleiner als die von PatchLocationListSize festgelegte Startgröße sein.

[out] Flags

Eine DXGK_DEVICEINFOFLAGS Struktur, die in Bitfeldflags Informationen zum Gerät identifiziert.

Hinweise

Der Anzeige-Miniporttreiber gibt Werte für die Member DmaBufferSize und AllocationListSize an, um Folgendes zu gewährleisten:

  • Das DirectX-Grafiksubsystem kann nur einen DMA-Puffer verwenden, um mindestens eine RECT-Struktur für alle Szenarien anzuzeigen (mithilfe der DxgkDdiPresent-Funktion des Anzeigeminiporttreibers).
  • Die Größen von DMA- und Zuordnungslistenpuffern sind groß genug, um mindestens einen Befehl zu enthalten, der nicht auf mehrere Puffer aufgeteilt werden kann.
  • Die Größe von DMA- und Zuordnungslistenpuffern ist groß genug, um Setup- und DMA-Mehraufwand zu vermeiden.
Der Display-Miniporttreiber kann nur Blendensegmente im DmaBufferSegmentSet-Element angeben. Wenn der Treiber ein Speichersegment angibt, tritt ein Fehler bei der Geräteerstellung auf.

Wenn der Treiber DmaBufferSegmentSet auf 0 festlegt, ordnet der Videospeicher-Manager den DMA-Puffern zusammenhängenden, ausgelagerten Speicher zu, der dem kombinierten Schreibspeicher zugeordnet ist. Daher muss die GPU auf DMA-Puffer zugreifen, indem sie PCI-Zyklen auf Systemen verwendet, auf denen AGP-Übertragungen außerhalb der AGP-Blende nicht zulässig sind.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Kopfzeile d3dkmddi.h (einschließlich D3dkmddi.h)

Weitere Informationen

D3DDDI_PATCHLOCATIONLIST

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_DEVICEINFOFLAGS

DxgkDdiCreateDevice

DxgkDdiPresent

DxgkDdiRender