DXGK_SUBMITCOMMANDFLAGS-Struktur (d3dkmddi.h)

Die DXGK_SUBMITCOMMANDFLAGS-Struktur identifiziert in Bitfeldflags Informationen zu einem DMA-Puffer (Direct Memory Access), der an die Grafikverarbeitungseinheit (Graphics Processing Unit, GPU) übermittelt werden soll.

Syntax

typedef struct _DXGK_SUBMITCOMMANDFLAGS {
  union {
    struct {
      UINT Paging : 1;
      UINT Present : 1;
      UINT RedirectedPresent : 1;
      UINT NullRendering : 1;
      UINT Flip : 1;
      UINT FlipWithNoWait : 1;
      UINT ContextSwitch : 1;
      UINT Resubmission : 1;
      UINT VirtualMachineData : 1;
#if ...
      UINT Reserved : 23;
#elif
      UINT Reserved : 24;
#elif
      UINT Reserved : 25;
#else
      UINT Reserved : 26;
#endif
    };
    UINT Value;
  };
} DXGK_SUBMITCOMMANDFLAGS;

Member

Paging

[in] Ein UINT-Wert, der angibt, ob der DMA-Puffer ein Pagingpuffer ist, der Pagingvorgänge enthält.

Das Festlegen dieser Einstellung entspricht dem Festlegen des ersten Bits des 32-Bit-Elements Wert (0x00000001).

Present

[in] Ein UINT-Wert, der angibt, ob der DMA-Puffer einen aktuellen Vorgang enthält. Der DMA-Puffer wurde von der DxgkDdiPresent-Funktiondes Treibers generiert.

Das Festlegen entspricht dem Festlegen des zweiten Bits des 32-Bit-Elements Wert (0x00000002).

RedirectedPresent

[in] Ein UINT-Wert, der angibt, ob der DMA-Puffer einen umgeleiteten aktuellen Vorgang enthält, der für eine freigegebene Zuordnung vorhanden ist, die zum Windows-Manager anzeigen gehört. Der DMA-Puffer wurde von der DxgkDdiRender-Funktion des Treibers generiert.

Dies entspricht dem Festlegen des dritten Bits des 32-Bit-Wertmembers (0x00000004).

NullRendering

[in] Ein UINT-Wert, der angibt, ob der Treiber das Einfügen des DMA-Puffers in den Ring simulieren soll (d. a. ob der Treiber den Fence-Interrupt am Ende des DMA-Puffers generieren soll); Der Treiber sollte den DMA-Puffer jedoch nicht tatsächlich ausführen (rendern). Das NullRendering-Bitfeldflag wird nur während der Leistungsanalyse und beim Debuggen festgelegt, um eine unendlich schnelle Rendering-Engine zu simulieren, die weiterhin den Mehraufwand für die DMA-Pufferübermittlung und -signalisierung ausführen muss. NullRendering wird bei typischen Vorgängen nie festgelegt.

Das Festlegen dieser Einstellung entspricht dem Festlegen des vierten Bits des 32-Bit-Wertmembers (0x00000008).

Flip

[in] Ein UINT-Wert, der angibt, ob der DMA-Puffer einen Flip-Vorgang enthält.

Dies entspricht dem Festlegen des fünften Bits des 32-Bit-Elements Wert (0x00000010).

FlipWithNoWait

[in] Ein UINT-Wert, der angibt, ob der DMA-Puffer einen Flip-Vorgang enthält, der ohne integrierte Wartezeit auf die nächste vertikale Synchronisierung erfolgt.

Diese Einstellung entspricht dem Festlegen des sechsten Bits des 32-Bit-Elements Wert (0x00000020).

ContextSwitch

[in] Unterstützt ab Windows 8.

Ein UINT-Wert, der angibt, dass die GPU vom aktuell ausgeführten Kontext zum NULL-Kontext wechseln soll.

Ab Windows 8 fordert das Betriebssystem die GPU explizit auf, zum NULL-Kontext zu wechseln, wenn versucht wird, eine Ressource zu verschieben oder zu entfernen, die zu dem Kontext gehört, der derzeit auf der GPU ausgeführt wird. Die Kontextwechselanforderung wird ausgeführt, indem ein DMA-Puffer der Länge Null mit dem ContextSwitch-Membersatz übermittelt wird.

Wenn der aktuelle Kontext einen Vorgang ausführte, der einen Pagingpuffer verwendet, wird der Kontextwechselbefehl übermittelt, wobei der Paging-Member ebenfalls auf einen festgelegt ist.

Das Festlegen dieser Einstellung entspricht dem Festlegen des siebten Bits des 32-Bit-Elements Wert (0x00000040).

Resubmission

[in] Gibt an, ob dieses DMA-Paket aufgrund einer früheren Vorzeitigen Entfernung erneut an die GPU übermittelt wird. In WDDM 2.0 ist dieses Flag sowohl für DXGKARG_SUBMITCOMMAND als auchfür DxgkDdiSubmitCommandVirtual bei der ersten DMA-Paketübermittlung auf Null festgelegt und auf 1 festgelegt, wenn ein Paket aufgrund einer früheren vorzeitigen Entfernung erneut übermittelt wird. Das Flag wird in WDDM 1.x auf null festgelegt, unabhängig davon, ob ein Paket zuvor vorzeitig entfernt wurde.

Unterstützt ab Windows 10.

VirtualMachineData

[in] Gibt an, dass die Übermittlung von einem paravirtualisierten Adapter stammt.

Reserved

[in] Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden.

Value

[in] Ein Element in der Union, das DXGK_SUBMITCOMMANDFLAGS enthält, das einen 32-Bit-Wert enthalten kann, der Informationen zum DMA-Puffer identifiziert.

Anforderungen

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

Weitere Informationen

DXGKARG_SUBMITCOMMAND

DxgkDdiSubmitCommand