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.
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.
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) |