Share via


DXGK_PRESENTFLAGS Struktur (d3dkmddi.h)

Die DXGK_PRESENTFLAGS-Struktur identifiziert in Bitfeldflags den Typ des auszuführenden Vorgangs.

Syntax

typedef struct _DXGK_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipWithNoWait : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT Rotate : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT FlipWithMultiPlaneOverlay : 1;
      UINT RedirectedFlip : 1;
#if ...
      UINT Reserved : 18;
#elif
      UINT Reserved : 19;
#else
      UINT Reserved : 24;
#endif
    };
    [in] UINT Value;
  };
} DXGK_PRESENTFLAGS;

Member

[in] Blt

Ein UINT-Wert, der angibt, ob ein Kopiervorgang anstelle eines Umdrehvorgangs zwischen Quell- und Zieloberflächen stattfindet.

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

[in] ColorFill

Ein UINT-Wert, der angibt, ob eine Quelle vorhanden ist, von der aus präsentiert werden soll. Wenn dieser Member festgelegt ist, ist keine Quelle vorhanden, und der Treiber sollte das Zielrechteck auf der Zieloberfläche mit der A8R8G8B8 Farbe füllen, die das Color-Element der DXGKARG_PRESENT-Struktur angibt.

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

[in] Flip

Ein UINT-Wert, der angibt, ob ein Umdrehvorgang zwischen Rück- und primärer Oberfläche erfolgt. Wenn dieser Member festgelegt ist, sollte der Treiber den vorliegenden Vorgang ausführen, indem er die Videoscanausgabe auf die Quelle zeigt, anstatt von der Quelle auf das Ziel zu kopieren. Diese Art des vorliegenden Vorgangs ist reißfrei.

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

[in] FlipWithNoWait

Ein UINT-Wert, der angibt, ob durch reißfreie Flipvorgänge die Grafikpipeline nicht blockiert werden soll. Wenn ein reißfreies Flip die Grafikpipeline blockiert, muss die Grafikverarbeitungseinheit (GRAPHICS Processing Unit, GPU) warten, bis der reißfreie Flip wirksam wird, bevor der nachfolgende Befehl ausgeführt wird.

FlipWithNoWait kann nur auf TRUE (d. h. 1) festgelegt werden, wenn der Anzeigeminiporttreiber das FlipOnVSyncWithNoWait-Bitfeldflag im FlipCaps-Member der DXGK_DRIVERCAPS-Struktur festgelegt hat, wenn der DXGKQAITYPE_DRIVERCAPS-Wert im Type-Member der DXGKARG_QUERYADAPTERINFO-Struktur in einem Aufruf der DxgkDdiQueryAdapterInfo-Funktion des Treibers angegeben wurde.

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

[in] SrcColorKey

Ein UINT-Wert, der angibt, ob die Quellfarbschlüsselung mithilfe des Werts im Color-Element der DXGKARG_PRESENT-Struktur ausgeführt werden soll. Das heißt, jedes Pixel auf der Quelloberfläche, das der Farbtaste entspricht, sollte nicht auf die Zieloberfläche kopiert werden, und alle Quellpixel, die nicht mit der Farbtaste übereinstimmen, sollten kopiert werden.

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

[in] DstColorKey

Ein UINT-Wert, der angibt, ob die Zielfarbschlüsselung mithilfe des Werts im Color-Element der DXGKARG_PRESENT-Struktur ausgeführt werden soll. Das heißt, jedes Pixel auf der Zieloberfläche, das der Farbtaste entspricht, sollte durch das entsprechende Pixel von der Quelloberfläche ersetzt werden, und alle Zielpixel, die nicht mit der Farbtaste übereinstimmen, sollten nicht ersetzt werden.

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

[in] LinearToSrgb

Ein UINT-Wert, der angibt, ob die linear formatierte Quelle während des Kopiervorgangs in das sRGB-Format konvertiert werden soll. Das sRGB-Format ist gammakorriert. Weitere Informationen zum sRGB-Format finden Sie auf der sRGB-Website .

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

[in] Rotate

Ein UINT-Wert, der angibt, ob die Präsentationsdaten so gedreht werden sollen, dass sie der aktuellen Ausrichtung des Bildschirms während der Bitblockübertragung (Bitblt) der Präsentation entsprechen. Die aktuelle Ausrichtung des Bildschirms wird im Rotationselement einer D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION-Struktur festgelegt, das im ContentTransformation-Element der D3DKMDT_VIDPN_PRESENT_PATH-Struktur für den vorliegenden Videopfad festgelegt wird.

Der Anzeigeminiporttreiber sollte die Daten nur drehen, wenn das Flag "Bitfeld drehen" festgelegt ist. Selbst wenn der Treiber feststellt, dass die aktuelle Ausrichtung des Bildschirms aus den Präsentationsdaten gedreht und Rotieren nicht festgelegt ist, sollte der Treiber die Daten nicht rotieren.

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

[in] FlipStereo

Gibt an, ob der Treiber sowohl linke als auch rechte Bilder einer Stereozuordnung umkehren soll.

Wenn das FlipOnNextVSync-Element der DXGK_SETVIDPNSOURCEADDRESS_FLAGS-Struktur festgelegt ist, sollte der Treiber auf der nächsten VSync das Umdrehen nach links abschließen und dann den Kehrvorgang zum rechten Bild auf der folgenden VSync abschließen.

Wenn das FlipImmediate-Element der DXGK_SETVIDPNSOURCEADDRESS_FLAGS-Struktur festgelegt ist, sollte der Treiber sofort mit dem Scannen aus der neuen Zuordnung beginnen. Wenn der Treiber beispielsweise ein richtiges Bild überprüft hat, sollte er die neue Überprüfung mit demselben relativen Offset im rechten Bild der neuen Zuordnung starten.

Die Elemente FlipStereo und FlipStereoTemporaryMono können nicht gleichzeitig festgelegt werden.

Weitere Anforderungen finden Sie im Abschnitt Hinweise.

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

Wird ab Windows 8 unterstützt.

[in] FlipStereoTemporaryMono

Gibt an, ob der Treiber das linke Bild einer Stereozuordnung für den rechten und linken Teil eines Stereoframes verwenden soll. Der Treiber führt den gleichen Vorgang wie bei FlipStereo aus, mit dem Unterschied, dass er nur aus dem linken Bild herausscannen sollte, um beide Bilder eines Stereoframes zu erzeugen.

Dieser Member sollte nur festgelegt werden, wenn der Treiber unterstützung für diese Option im aktuellen Anzeigemodus meldet, indem er das Element Typ der D3DKMDT_VIDPN_SOURCE_MODE-Struktur auf D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN festlegt.

Die Elemente FlipStereo und FlipStereoTemporaryMono können nicht gleichzeitig festgelegt werden.

Die Elemente FlipStereoTemporaryMono und FlipStereoPreferRight können nicht gleichzeitig festgelegt werden.

Weitere Anforderungen finden Sie im Abschnitt Hinweise.

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

Wird ab Windows 8 unterstützt.

[in] FlipStereoPreferRight

Gibt an, dass der Treiber beim Klonen einer primären Stereozuordnung für einen Monomonitor das richtige Image verwenden soll.

Die Elemente FlipStereoTemporaryMono und FlipStereoPreferRight können nicht gleichzeitig festgelegt werden.

Weitere Anforderungen finden Sie im Abschnitt Hinweise.

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

Wird ab Windows 8 unterstützt.

[in] BltStereoUseRight

Gibt an, dass der Treiber das richtige Bild verwenden soll, wenn er von einer Stereozuordnung zu einer Monozuordnung angezeigt wird. Wenn nicht festgelegt, sollte der Treiber das linke Bild verwenden.

Das Festlegen dieses Elements entspricht dem Festlegen des zwölften Bits des 32-Bit-Wert-Members (0x00000800).

Wird ab Windows 8 unterstützt.

[in] FlipWithMultiPlaneOverlay

Gibt an, ob ein Umdrehvorgang zwischen einer Überlagerungsebene und der primären Oberfläche erfolgt. Wenn dieser Member festgelegt ist, sollte der Treiber den vorliegenden Vorgang ausführen, indem er die Videoscanausgabe auf die Quellebene zeigt, anstatt von der Quellebene auf das Ziel zu kopieren.

Das Festlegen dieses Elements entspricht dem Festlegen des dreizehnten Bits des 32-Bit-Wertelements (0x00001000).

Wird ab Windows 8.1 unterstützt.

RedirectedFlip

[in] Reserved

Dieser Member ist reserviert und sollte auf null festgelegt werden.

Das Festlegen dieses Elements auf 0 entspricht dem Festlegen der verbleibenden 19 Bits (0xFFFFE000) des 32-Bit-Wert-Members auf Nullen.

Wird ab Windows 8 unterstützt.

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

Das Festlegen dieses Elements auf 0 entspricht dem Festlegen der verbleibenden 24 Bits (0xFFFFFF00) des 32-Bit-Wert-Members auf Nullen.

[in] Value

Ein Element in der Union, das DXGK_PRESENTFLAGS enthält, das einen 32-Bit-Wert enthalten kann, der den Typ des auszuführenden Vorgangs identifiziert.

Hinweise

Die Bitfeldflags ColorFill, SrcColorKey und DstColorKey schließen sich gegenseitig aus.

Wenn eines der Member FlipStereo, FlipStereoTemporaryMono oder FlipStereoPreferRight festgelegt ist, gelten die folgenden Bedingungen:

Anforderungen

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

Weitere Informationen

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

DXGKARG_PRESENT

DXGKARG_QUERYADAPTERINFO

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_DRIVERCAPS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiPresent

DxgkDdiQueryAdapterInfo