Freigeben über


DXGK_FLIPCAPS Struktur (d3dkmddi.h)

Die DXGK_FLIPCAPS-Struktur identifiziert die Flippingfunktionen des Anzeigeminiporttreibers, den der Treiber über einen Aufruf seiner DxgkDdiQueryAdapterInfo-Funktion bereitstellt.

Syntax

typedef struct _DXGK_FLIPCAPS {
  union {
    struct {
      UINT FlipOnVSyncWithNoWait : 1;
      UINT FlipOnVSyncMmIo : 1;
      UINT FlipInterval : 1;
      UINT FlipImmediateMmIo : 1;
      UINT FlipIndependent : 1;
      UINT DdiPresentForIFlip : 1;
      UINT FlipImmediateOnHSync : 1;
#if ...
      UINT Reserved : 25;
#elif
      UINT Reserved : 27;
#else
      UINT Reserved : 28;
#endif
    };
    UINT Value;
  };
} DXGK_FLIPCAPS;

Member

FlipOnVSyncWithNoWait

Ein UINT-Wert , der angibt, ob der Treiber die Planung eines Flip-Befehls unterstützt, der beim nächsten vertikalen Nachverfolgungszeitraum (vertikale Synchronisierung) wirksam wird, ohne dass die Grafikpipeline zum Stillstand kommt, bis diese vertikale Synchronisierung erfolgt. Das heißt, die Grafikpipeline muss sofort fortgesetzt werden, nachdem der Treiber die physische Adresse der umgeklappten Oberfläche in ausstehende Register an der Hardware geschrieben hat. Obwohl die meisten Hardware eine Tiefe von einem ausstehenden Flip-Pending-Register verwendet, sollte der Treiber die Nummer im MaxQueuedFlipOnVSync-Member der DXGK_DRIVERCAPS-Struktur angeben, wenn die Hardware mehr als ein ausstehendes Flip-Pending-Register verwendet.

Wenn FlipOnVSyncWithNoWait auf 1 (TRUE) festgelegt ist, unterstützt der Treiber diesen Mechanismus. Wenn FlipOnVSyncWithNoWait auf 0 (FALSE) festgelegt ist, unterstützt der Treiber diesen Mechanismus nicht. Das heißt, die Grafikpipeline muss warten, bis die nächste vertikale Synchronisierung nach der Planung eines Flip-Befehls erfolgt, damit die nächste vertikale Synchronisierung wirksam wird.

Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Wertmembers (0x00000001).

FlipOnVSyncMmIo

Ein UINT-Wert , der angibt, ob der Treiber eine auf dem Arbeitsspeicher zugeordnete E/A(MMIO)-basiertes Flip unterstützt, die bei der nächsten vertikalen Synchronisierung wirksam wird. Um diese Art von Flip zu unterstützen, muss der Anzeigeminiporttreiber die folgenden Vorgänge unterstützen:

FlipInterval

Ein UINT-Wert , der angibt, ob der Treiber die Planung eines Flip-Befehls unterstützt, um nach zwei, drei oder vier vertikalen Synchronisierungen wirksam zu werden. Unabhängig davon, ob der Treiber ein Flipintervall von zwei oder mehr unterstützt, muss der Treiber ein sofortiges Umdrehen und ein Flipintervall von 1 unterstützen.

Das Festlegen dieses Members entspricht dem Festlegen des dritten Bits des 32-Bit-Wertmembers (0x00000004).

FlipImmediateMmIo

Ein UINT-Wert , der angibt, ob der Treiber eine auf Arbeitsspeicher zugeordnete E/A(MMIO)-basierte soforte Umkehr unterstützt. Diese Art von Flip wird sofort nach einem Aufruf der DxgkDdiSetVidPnSourceAddress-Funktion des Treibers wirksam, ohne auf die nächste vertikale Synchronisierung zu warten.

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

Wird ab Windows 7 unterstützt.

FlipIndependent

Ein UINT-Wert , der angibt, ob der Treiber ein unabhängiges Flip unterstützt. WDDM 1.3 und höhere Treiber müssen diesen Member auf 1 festlegen.

Bei einem unabhängigen Flip versucht das Betriebssystem, einen DWM-Benutzermodus (Desktop Window Manager) zu umgehen, der aufruft und in den Zurückpuffer der Anwendung wechselt, indem dxgkDdiPresent und DxgkDdiSetVidPnSourceAddress in Direct Flip- und Mehrschichtpräsentationsmodellen aufgerufen wird.

Beachten Sie, dass es Fälle gibt, in denen ein DWM-Benutzermodus vorhandener Aufruf erfolgt, auch wenn FlipIndependent festgelegt ist. Ihr Treiber muss diese Fälle weiterhin verarbeiten.

Das Festlegen dieses Members entspricht dem Festlegen des fünften Bits des 32-Bit-Wertmembers (0x00000010).

Wird ab Windows 8.1 unterstützt.

DdiPresentForIFlip

FlipImmediateOnHSync

Reserved

Dieser Member ist reserviert und sollte auf null festgelegt werden. Das Festlegen dieses Elements auf 0 entspricht dem Festlegen der verbleibenden 27 Bits (0xFFFFFFE0) des 32-Bit-Wertelements auf Nullen.

Dieser Member ist reserviert und sollte auf null festgelegt werden. Das Festlegen dieses Elements auf 0 entspricht dem Festlegen der verbleibenden 28 Bits (0xFFFFFFF0) des 32-Bit-Wert-Members auf Nullen.

Value

Ein Element in der Union, das DXGK_FLIPCAPS enthält, das einen 32-Bit-Wert enthalten kann, der Flippingfunktionen identifiziert.

Anforderungen

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

Weitere Informationen

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT

DXGKARG_QUERYADAPTERINFO

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_DRIVERCAPS

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkDdiPresent

DxgkDdiQueryAdapterInfo

DxgkDdiSetVidPnSourceAddress