D3DKMT_PRESENTFLAGS Struktur (d3dkmthk.h)
Die D3DKMT_PRESENTFLAGS Struktur identifiziert, wie ein vorhandener Vorgang ausgeführt wird.
Syntax
typedef struct _D3DKMT_PRESENTFLAGS {
union {
struct {
UINT Blt : 1;
UINT ColorFill : 1;
UINT Flip : 1;
UINT FlipDoNotFlip : 1;
UINT FlipDoNotWait : 1;
UINT FlipRestart : 1;
UINT DstRectValid : 1;
UINT SrcRectValid : 1;
UINT RestrictVidPnSource : 1;
UINT SrcColorKey : 1;
UINT DstColorKey : 1;
UINT LinearToSrgb : 1;
UINT PresentCountValid : 1;
UINT Rotate : 1;
UINT PresentToBitmap : 1;
UINT RedirectedFlip : 1;
UINT RedirectedBlt : 1;
UINT FlipStereo : 1;
UINT FlipStereoTemporaryMono : 1;
UINT FlipStereoPreferRight : 1;
UINT BltStereoUseRight : 1;
UINT PresentHistoryTokenOnly : 1;
UINT PresentRegionsValid : 1;
UINT PresentDDA : 1;
UINT ProtectedContentBlankedOut : 1;
UINT RemoteSession : 1;
UINT CrossAdapter : 1;
UINT DurationValid : 1;
UINT PresentIndirect : 1;
UINT PresentHMD : 1;
#if ...
UINT Reserved : 2;
#elif
UINT Reserved : 6;
#else
UINT Reserved : 15;
#endif
};
UINT Value;
};
} D3DKMT_PRESENTFLAGS;
Angehörige
Blt
Ein UINT-Wert, der angibt, ob Bitblockübertragungsdaten (Bitblt) an die primäre Oberfläche übergeben werden sollen. Dieses Bitfeld-Flag kann mit den DstRectValid- und SrcRectValid Bitfeldflags verwendet werden.
Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Value Members (0x00000001).
ColorFill
Ein UINT-Wert, der angibt, ob ein Colorfill-Bitblt auf der primären Oberfläche mithilfe des Werts im Color Member der D3DKMT_PRESENT-Struktur ausgeführt werden soll. Dieses Bitfeld-Flag kann mit der DstRectValid Bitfeldkennzeichnung verwendet werden.
Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Value Members (0x00000002).
Flip
Ein UINT-Wert, der angibt, ob eine neue Oberfläche umgedreht werden soll.
Das Festlegen dieses Elements entspricht dem Festlegen des dritten Bits des 32-Bit-Value Members (0x00000004).
FlipDoNotFlip
Ein UINT-Wert, der angibt, ob in die Warteschlange eingereihte Wartezeiten in den Renderingdatenstrom eingefügt werden sollen. Wenn Sie dieses Element festlegen, wird angegeben, dass er auf dieselbe Oberfläche kippt, die gerade ausgescannt wird.
Das Festlegen dieses Elements entspricht dem Festlegen des vierten Bits des 32-Bit-Value Members (0x00000008).
FlipDoNotWait
Ein UINT-Wert, der angibt, ob der installierbare OpenGL-Clienttreiber (ICD) erfordert, dass der aktuelle Vorgang wartet, bis die Anzahl der in die Warteschlange eingereihten Flip-Oberflächen unter einen bestimmten Grenzwert fällt, bevor der Vorgang beginnt. Wenn Sie dieses Element festlegen, wird angegeben, dass die ICD nicht warten muss. Der Standardgrenzwert für die Anzahl der in die Warteschlange eingereihten Flip-Oberflächen ist drei.
Das Festlegen dieses Elements entspricht dem Festlegen des fünften Bits des 32-Bit-Value Members (0x00000010).
FlipRestart
Ein UINT-Wert, der angibt, ob ein Flip auf eine neue Oberfläche neu gestartet werden soll.
Das Festlegen dieses Elements entspricht dem Festlegen des sechsten Bits des 32-Bit-Value Members (0x00000020).
DstRectValid
Ein UINT-Wert, der angibt, ob die Bitblt einen rechteckigen Zielbereich verwendet.
Das Festlegen dieses Elements entspricht dem Festlegen des siebten Bits des 32-Bit-Value Members (0x00000040).
SrcRectValid
Ein UINT-Wert, der angibt, ob die Bitblt einen rechteckigen Quellbereich verwendet.
Das Festlegen dieses Elements entspricht dem Festlegen des achten Bits des 32-Bit-Value Members (0x00000080).
RestrictVidPnSource
Ein UINT-Wert, der angibt, ob die Bitblt eingeschränkt werden soll. Wenn das hWindow Member NULL-ist, gibt die VidPnSourceId Member der D3DKMT_PRESENT Struktur an, an welche Ausgabe das Bitblt im Vollbildmodus weitergeleitet wird; wenn hWindow- nichtNULL-ist, gibt VidPnSourceId an, auf welche Ausgabe die Fensterbitblt beschränkt werden soll.
Das Festlegen dieses Elements entspricht dem Festlegen des neunten Bits des 32-Bit-Value Members (0x00000100).
SrcColorKey
Ein UINT-Wert, der angibt, ob die Quellfarbschlüssel mithilfe des Werts im Color Member der D3DKMT_PRESENT-Struktur ausgeführt werden sollen. 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 zehnten Bits des 32-Bit-Value Members (0x00000200).
DstColorKey
Ein UINT-Wert, der angibt, ob die Zielfarbtaste mithilfe des Werts im Color Member von D3DKMT_PRESENT 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 elften Bits des 32-Bit-Value Members (0x00000400).
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 zwölften Bits des 32-Bit-Value Members (0x00000800).
PresentCountValid
Ein UINT-Wert, der angibt, ob der im PresentCount Member der D3DKMT_PRESENT-Struktur festgelegte Wert gültig ist.
Das Festlegen dieses Elements entspricht dem Festlegen des dreizehnten Bits des 32-Bit-Value Members (0x00001000).
[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 vierzehnten Bits des 32-Bit-Value Members (0x00002000).
PresentToBitmap
Ein UINT-Wert, der angibt, ob eine Bitmap vorhanden sein soll.
Das Festlegen dieses Elements entspricht dem Festlegen des fünfzehnten Bits des 32-Bit-Value Members (0x00004000).
Wird ab Windows 7 unterstützt.
RedirectedFlip
Ein UINT-Wert, der angibt, ob ein Flip auf eine neue Oberfläche umgeleitet werden soll.
Das Festlegen dieses Elements entspricht dem Festlegen des sechzehnten Bits des 32-Bit-Value Members (0x00008000).
Wird ab Windows 7 unterstützt.
RedirectedBlt
Ein UINT-Wert, der angibt, ob ein Bitblt auf eine neue Oberfläche umgeleitet werden soll.
Das Festlegen dieses Elements entspricht dem Festlegen des 17. Bits des 32-Bit-Value Members (0x00010000).
Wird ab Windows 7 unterstützt.
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 achtzehnten Bits des 32-Bit-Value Members (0x00020000).
Wird ab Windows 8 unterstützt.
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 neunzehnten Bits des 32-Bit-Value Members (0x00040000).
Wird ab Windows 8 unterstützt.
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 zwanzigsten Bits des 32-Bit-Value Members (0x00080000).
Wird ab Windows 8 unterstützt.
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 22-Bit-Elements des 32-Bit-Value Members (0x00100000).
Wird ab Windows 8 unterstützt.
PresentHistoryTokenOnly
Gibt an, dass der Treiber nur ein aktuelles Verlaufstoken übermitteln soll.
Ein aktuelles Verlaufstoken ist ein Datenpaket, das von der Render-App übermittelt wird, um den Desktop Window Manager (DWM) darüber zu informieren, dass das Rendern abgeschlossen ist und der Swapchain-Hintergrundpuffer zur Darstellung bereit ist.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x00200000).
Wird ab Windows 8 unterstützt.
PresentRegionsValid
Gibt an, dass die D3DKMT_PRESENT.pPresentRegions Member ist ein gültiger Zeiger (nicht NULL-).
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x00400000).
Wird ab Windows 8 unterstützt.
PresentDDA
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x00800000).
Wird ab Windows 8 unterstützt.
ProtectedContentBlankedOut
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x01000000).
Wird ab Windows 8 unterstützt.
RemoteSession
Gibt an, dass der aktuelle Vorgang an eine Remotesitzung weitergeleitet wird.
Das Festlegen dieses Elements entspricht dem Festlegen des 22-Bit-Bit-Value Members (0x02000000).
Wird ab Windows 8 unterstützt.
CrossAdapter
Der Queradapter.
DurationValid
Gibt an, ob die Dauer gültig ist.
PresentIndirect
Indirekt vorhanden.
PresentHMD
Reserved
Wird ab Windows 8 unterstützt.
Dieses Element ist reserviert und sollte auf Null festgelegt werden. Das Festlegen dieses Elements auf Null entspricht dem Festlegen der verbleibenden 9 Bits (0xFF800000) des 32-Bit-Werts Members auf Nullen.
Value
Ein 32-Bit-Wert, der angibt, wie der aktuelle Vorgang ausgeführt wird.
Bemerkungen
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- | Verfügbar ab Windows Vista. |
Header- | d3dkmthk.h (einschließlich D3dkmthk.h) |