Freigeben über


DXGK_DEVICEINFO Struktur (d3dkmddi.h)

Die DXGK_DEVICEINFO-Struktur beschreibt Parameter, die das Microsoft DirectX-Grafik-Kernelsubsystem vom Display-Miniporttreiber benötigt.

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;

Angehörige

[out] DmaBufferSize

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

Der DMA-Puffer kann nach dem Erstellen des Geräts vergrößert und verkleinern. Der DMA-Puffer kann jedoch nie kleiner als die Startgröße verkleinern, die DmaBufferSize- angibt.

[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 Treiber-residenten privaten Datenstruktur, die jedem DMA-Puffer zugeordnet ist. Der Speicher für diese private Datenstruktur wird aus nicht seitengebundenen Pools zugewiesen. Wenn der Treiber in DmaBufferPrivateDataSizenull angibt, wird für die private Datenstruktur kein Speicher 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 niemals auf die private Datenstruktur zu, die dem DMA-Puffer zugeordnet ist.

[out] AllocationListSize

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

Die Zuordnungsliste kann nach dem Erstellen des Geräts vergrößert und verkleinern. Die Zuordnungsliste kann jedoch nie kleiner als die Startgröße sein, die AllocationListSize- angibt.

[out] PatchLocationListSize

Die Startanzahl von Elementen in einem Array von Patchspeicherorten (d. h. ein Array von D3DDDI_PATCHLOCATIONLIST Strukturen) für das Gerät im Benutzermodus und kernelmodus. Diese Zahl ist die Startnummer der Patchspeicherorte, die der Treiber anfordert, in der pPatchLocationListIn Member von DXGKARG_RENDER Strukturen in Aufrufen der DxgkDdiRender--Funktion abzurufen.

Die Patchspeicherortliste kann nach dem Erstellen des Geräts vergrößert und verkleinern. Die Patchspeicherortliste kann jedoch nie kleiner als die Startgröße sein, die PatchLocationListSize- angibt.

[out] Flags

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

Bemerkungen

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

  • Das DirectX-Grafiksubsystem kann nur einen DMA-Puffer verwenden, um mindestens einen RECT- Struktur des Miniporttreibers DxgkDdiPresent--Funktion anzuzeigen.
  • Die Größe von DMA- und Zuordnungslistenpuffern ist groß genug, um mindestens einen Befehl zu enthalten, der nicht über mehrere Puffer aufgeteilt werden kann.
  • Die Größen von DMA- und Zuordnungslistenpuffern sind groß genug, um Setup und DMA-Aufwand zu vermeiden.
Der Display-Miniporttreiber kann nur Blendensegmente im DmaBufferSegmentSet Member angeben; wenn der Treiber ein Speichersegment angibt, tritt ein Fehler bei der Geräteerstellung auf.

Wenn der Treiber DmaBufferSegmentSet- auf 0 festlegt, weist der Videospeicher-Manager zusammenhängenden, ausgelagerten Speicher zu, der mit Schreib-kombiniertem Speicher verknüpft ist, für die DMA-Puffer. Daher muss die GPU auf DMA-Puffer zugreifen, indem PCI-Zyklen auf Systemen verwendet werden, bei denen AGP-Übertragungen, die außerhalb der AGP-Blende auftreten, nicht zulässig sind.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Header- d3dkmddi.h (einschließlich D3dkmddi.h)

Siehe auch

D3DDDI_PATCHLOCATIONLIST

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_DEVICEINFOFLAGS

DxgkDdiCreateDevice

DxgkDdiPresent-

DxgkDdiRender