DXGK_PRESENTFLAGS Struktur (d3dkmddi.h)
Die DXGK_PRESENTFLAGS Struktur identifiziert in Bitfeldkennzeichnungen 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;
Angehörige
[in] Blt
Ein UINT-Wert, der angibt, ob ein Kopiervorgang anstelle eines Flip-Vorgangs zwischen Quell- und Zieloberflächen erfolgt.
Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Value Members (0x00000001).
[in] ColorFill
Ein UINT-Wert, der angibt, ob eine Quelle vorhanden ist, aus der vorhanden ist. Wenn dieses Element festgelegt ist, ist keine Quelle vorhanden, und der Treiber sollte das Zielrechteck auf der Zieloberfläche mit der farbe A8R8G8B8 füllen, die das Color Member der DXGKARG_PRESENT Struktur angibt.
Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Value Members (0x00000002).
[in] Flip
Ein UINT-Wert, der angibt, ob ein Flip-Vorgang zwischen hintergrund- und primären Oberflächen auftritt. Wenn dieses Element festgelegt ist, sollte der Treiber den aktuellen Vorgang ausführen, indem er die Videoscanausgabe auf die Quelle zeigt, anstatt von der Quelle in das Ziel zu kopieren. Diese Art des vorliegenden Vorgangs ist reißfrei.
Das Festlegen dieses Elements entspricht dem Festlegen des dritten Bits des 32-Bit-Value Members (0x00000004).
[in] FlipWithNoWait
Ein UINT-Wert, der angibt, ob die Grafikpipeline nicht unterbrochen werden soll. Wenn eine reißfreie Flip-Pipeline die Grafikpipeline stagniert, muss die Grafikverarbeitungseinheit (GPU) warten, bis der reißfreie Flip wirksam wird, bevor der nachfolgende Befehl ausgeführt wird.
FlipWithNoWait- kann auf TRUE- festgelegt werden (das heißt, 1) nur, wenn der Display-Miniporttreiber die FlipOnVSyncWithNoWait Bitfeldkennzeichen im FlipCaps Member der DXGK_DRIVERCAPS Struktur festlegte, als 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-Value Members (0x00000008).
[in] SrcColorKey
Ein UINT-Wert, der angibt, ob die Quellfarbschlüsselung mithilfe des Werts im Color Member der DXGKARG_PRESENT-Struktur ausgeführt werden soll. Das heißt, jedes Pixel in der Quelloberfläche, das dem Farbschlüssel entspricht, sollte nicht auf die Zieloberfläche kopiert werden, und alle Quellpixel, die nicht mit dem Farbschlüssel übereinstimmen, sollten kopiert werden.
Das Festlegen dieses Elements entspricht dem Festlegen des fünften Bits des 32-Bit-Value Members (0x00000010).
[in] DstColorKey
Ein UINT-Wert, der angibt, ob die Zielfarbtaste mithilfe des Werts im Color Member der DXGKARG_PRESENT-Struktur ausgeführt werden soll. Das heißt, jedes Pixel in der Zieloberfläche, das dem Farbschlüssel entspricht, sollte durch das entsprechende Pixel aus der Quelloberfläche ersetzt werden, und alle Zielpixel, die nicht mit dem Farbschlüssel übereinstimmen, sollten nicht ersetzt werden.
Das Festlegen dieses Elements entspricht dem Festlegen des sechsten Bits des 32-Bit-Value Members (0x00000020).
[in] LinearToSrgb
Ein UINT-Wert, der angibt, ob die linear formatierte Quelle während des Kopiervorgangs in das sRGB-Format konvertiert werden soll. sRGB-Format ist gamma korrigiert. Weitere Informationen zum sRGB-Format finden Sie auf der website sRGB.
Das Festlegen dieses Elements entspricht dem Festlegen des siebten Bits des 32-Bit-Value Members (0x00000040).
[in] Rotate
Ein UINT-Wert, der angibt, ob die Präsentationsdaten gedreht werden sollen, um der aktuellen Ausrichtung des Bildschirms während der Bitblockübertragung der Präsentation (Bitblt) zu entsprechen. Die aktuelle Ausrichtung des Bildschirms wird im Rotation Member einer D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION-Struktur festgelegt, die im ContentTransformation Member der D3DKMDT_VIDPN_PRESENT_PATH Struktur für den Video present-Pfad festgelegt ist.
Der Miniporttreiber für die Anzeige sollte die Daten nur drehen, wenn das Bitfeldflagge festgelegt ist. Selbst wenn der Treiber feststellt, dass die aktuelle Ausrichtung des Bildschirms aus den Präsentationsdaten gedreht wird und Drehen nicht festgelegt ist, sollte der Treiber die Daten nicht drehen.
Das Festlegen dieses Elements entspricht dem Festlegen des achten Bits des 32-Bit-Value Members (0x00000080).
[in] FlipStereo
Gibt an, ob der Treiber sowohl linke als auch rechte Bilder einer Stereozuordnung kippen soll.
Wenn das FlipOnNextVSync- Mitglied der DXGK_SETVIDPNSOURCEADDRESS_FLAGS-Struktur festgelegt ist, sollte der Treiber das Flip zum linken Bild auf dem nächsten VSync abschließen und dann das Kippen zum rechten Bild auf der folgenden VSync abschließen.
Wenn das FlipImmediate- Mitglied der DXGK_SETVIDPNSOURCEADDRESS_FLAGS-Struktur festgelegt ist, sollte der Treiber sofort mit dem Scannen aus der neuen Zuordnung beginnen. Wenn beispielsweise der Treiber ein richtiges Bild scannt, sollte der neue Scan vom gleichen relativen Offset im rechten Bild der neuen Zuordnung gestartet werden.
Die FlipStereo und FlipStereoTemporaryMono Mitglieder 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-Value Members (0x00000100).
Wird ab Windows 8 unterstützt.
[in] FlipStereoTemporaryMono
Gibt an, ob der Treiber das linke Bild einer Stereozuordnung für die rechten und linken Teile eines Stereoframes verwenden soll. Der Treiber führt den gleichen aktuellen Vorgang wie bei FlipStereoaus, außer dass er nur aus dem linken Bild herausscannen sollte, um beide Bilder eines Stereoframes zu erzeugen.
Dieses Element sollte nur festgelegt werden, wenn der Treiber die Unterstützung für diese Option im aktuellen Anzeigemodus meldet, indem der Typ Member der D3DKMDT_VIDPN_SOURCE_MODE-Struktur auf D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN festgelegt wird.
Die FlipStereo und FlipStereoTemporaryMono Mitglieder können nicht gleichzeitig festgelegt werden.
Die FlipStereoTemporaryMono und FlipStereoPreferRight Mitglieder 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-Value Members (0x00000200).
Wird ab Windows 8 unterstützt.
[in] FlipStereoPreferRight
Gibt an, dass beim Klonen des Treibers eine primäre Stereozuordnung für einen Monomonitor das richtige Bild verwendet werden soll.
Die FlipStereoTemporaryMono und FlipStereoPreferRight Mitglieder 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-Value Members (0x00000400).
Wird ab Windows 8 unterstützt.
[in] BltStereoUseRight
Gibt an, dass beim Präsentieren des Treibers aus einer Stereozuordnung zu einer Mono-Zuordnung das richtige Bild verwendet werden soll. Wenn nicht festgelegt, sollte der Treiber das linke Bild verwenden.
Das Festlegen dieses Elements entspricht dem Festlegen des zwölften Bits des 32-Bit-Value Members (0x00000800).
Wird ab Windows 8 unterstützt.
[in] FlipWithMultiPlaneOverlay
Gibt an, ob ein Flip-Vorgang zwischen einer Überlagerungsebene und der primären Oberfläche erfolgt. Wenn dieses Element 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-Value Members (0x00001000).
Wird ab Windows 8.1 unterstützt.
RedirectedFlip
[in] Reserved
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Das Festlegen dieses Elements auf Null entspricht dem Festlegen der verbleibenden 19 Bits (0xFFFFE000) des 32-Bit-Werts Members auf Nullen.
Wird ab Windows 8 unterstützt.
[in] Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Das Festlegen dieses Elements auf Null entspricht dem Festlegen der verbleibenden 24 Bits (0xFFFFFF00) des 32-Bit-Werts Members auf Nullen.
[in] Value
Ein Mitglied in der Union, das DXGK_PRESENTFLAGS enthält, die einen 32-Bit-Wert enthalten kann, der den Auszuführenden Typ des auszuführenden Vorgangs identifiziert.
Bemerkungen
Die ColorFill, SrcColorKeyund DstColorKey Bitfeldflags schließen sich gegenseitig aus.
Wenn eines der FlipStereo, FlipStereoTemporaryMonooder FlipStereoPreferRight Mitglieder festgelegt sind, gelten die folgenden Bedingungen:
- Das hAllocation- Mitglied der DXGKARG_SETVIDPNSOURCEADDRESS-Struktur sollte auf eine Zuordnung verweisen, die mit dem im Flags Element der D3DKMT_DISPLAYMODE Struktur Stereo--Members erstellt wird.
- Die PrimarySegment- und "PrimaryAddress" Mitglieder der DXGKARG_SETVIDPNSOURCEADDRESS sollten auf die ausgangsadresse der Zuordnung verweisen.
- Der Treiber sollte die Einstellungen der FlipImmediate- und FlipOnNextVSync Member der DXGK_SETVIDPNSOURCEADDRESS_FLAGS-Struktur berücksichtigen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Header- | d3dkmddi.h (einschließlich D3dkmddi.h) |
Siehe auch
D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION