Freigeben über


DXGK_CONTEXTINFO Struktur (d3dkmddi.h)

Die DXGK_CONTEXTINFO Struktur beschreibt einen Gerätekontext.

Syntax

typedef struct _DXGK_CONTEXTINFO {
  UINT                  DmaBufferSize;
  UINT                  DmaBufferSegmentSet;
  UINT                  DmaBufferPrivateDataSize;
  UINT                  AllocationListSize;
  UINT                  PatchLocationListSize;
  UINT                  Reserved;
  DXGK_CONTEXTINFO_CAPS Caps;
  ULONG                 PagingCompanionNodeId;
} DXGK_CONTEXTINFO;

Angehörige

DmaBufferSize

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

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

DmaBufferSegmentSet

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

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.

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, in der pAllocationList Member der DXGKARG_PRESENT und DXGKARG_RENDER Strukturen in Aufrufen der DxgkDdiPresent- und DxgkDdiRender--Funktionen des Treibers zu sein.

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

Hinweis Wenn DXGK_CREATECONTEXTFLAGS.GdiContext- auf 1 festgelegt ist, d. h. der Kontext wird als GDI-spezifischer Kontext erstellt, AllocationListSize auf einen Wert von 256 festgelegt werden muss.
 

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 Startanzahl der Patchspeicherorte, die der Treiber anfordert, in den pPatchLocationListIn Member der DXGKARG_RENDER Strukturen in Aufrufen der DxgkDdiRender--Funktion zu sein.

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

Reserved

Dieses Element ist reserviert und sollte auf Null festgelegt werden.

Dieses Mitglied ist ab Windows 7 verfügbar.

Caps

Beschreibt optionale Features, die vom Kontext unterstützt werden.

Wird ab Windows 10 unterstützt.

PagingCompanionNodeId

Gibt den nullbasierten Modulbezeichner des Moduls an, das für diesen Kontext-Paging-Begleitmodul verwendet werden soll.

Wird ab Windows 10 unterstützt.

Bemerkungen

Ein Anzeigeminiporttreiber gibt Werte für die DmaBufferSize- und AllocationListSize Member an, um folgendes zu gewährleisten:

  • Das Microsoft DirectX-Grafiksubsystem kann nur einen DMA-Puffer (Direct Memory Access) verwenden, um mindestens eine RECT- Struktur für alle Szenarien anzuzeigen (indem der Miniporttreiber DxgkDdiPresent Funktion verwendet wird).
  • 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 Kontexterstellung 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 Computern verwendet werden, bei denen AGP-Übertragungen außerhalb der AGP-Blende 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_CREATECONTEXT

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_CREATECONTEXTFLAGS

DxgkDdiPresent-

DxgkDdiRender

RECT-