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