D3DDDI_BLTFLAGS-Struktur (d3dumddi.h)
Die D3DDDI_BLTFLAGS-Struktur gibt den Typ der bitblockbasierten Übertragung (Bitblt) an, die ausgeführt werden soll.
Syntax
typedef struct _D3DDDI_BLTFLAGS {
union {
struct {
UINT Point : 1;
UINT Linear : 1;
UINT SrcColorKey : 1;
UINT DstColorKey : 1;
UINT MirrorLeftRight : 1;
UINT MirrorUpDown : 1;
UINT LinearToSrgb : 1;
UINT Rotate : 1;
UINT BeginPresentToDwm : 1;
UINT ContinuePresentToDwm : 1;
UINT EndPresentToDwm : 1;
#if ...
UINT Reserved : 21;
UINT Discard : 1;
UINT NoOverwrite : 1;
UINT Tileable : 1;
#else
UINT Reserved : 18;
#endif
};
UINT Value;
};
} D3DDDI_BLTFLAGS;
Member
Point
Ein UINT-Wert, der angibt, ob die Punktfilterung in der Bitblockübertragung verwendet werden soll. Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Elements Wert (0x00000001).
Linear
Ein UINT-Wert, der angibt, ob bei der Bitblockübertragung lineare Filterung verwendet werden soll. Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Wertmembers (0x00000002).
SrcColorKey
Ein UINT-Wert, der angibt, ob die Quellfarbschlüssel mithilfe des Werts im ColorKey-Member ausgeführt werden sollen. Das heißt, jedes Pixel auf der Quelloberfläche, das mit dem Farbschlüssel übereinstimmt, sollte nicht auf die Zieloberfläche kopiert werden, und alle Quellpixel, die nicht dem Farbschlüssel entsprechen, sollten kopiert werden.
Das Festlegen dieses Elements entspricht dem Festlegen des dritten Bits des 32-Bit-Elements Wert (0x00000004).
DstColorKey
Ein UINT-Wert, der angibt, ob die Zielfarbschlüssel mithilfe des Werts im ColorKey-Member ausgeführt werden sollen. Das heißt, jedes Pixel auf der Zieloberfläche, das dem Farbschlüssel 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 vierten Bits des 32-Bit-Wertmembers (0x00000008).
MirrorLeftRight
Ein UINT-Wert, der angibt, ob der Inhalt der Quelloberfläche horizontal entlang der Mittelachse in der Bitblt auf die Zieloberfläche gekippt wird. Das heißt, Inhalte auf der linken Seite der Quelloberfläche werden auf die rechte Seite der Zieloberfläche kopiert und umgekehrt.
Das Festlegen dieses Elements entspricht dem Festlegen des fünften Bits des 32-Bit-Elements Wert (0x00000010).
MirrorUpDown
Ein UINT-Wert, der angibt, ob der Inhalt der Quelloberfläche vertikal entlang der Mittelachse in der Bitblt auf die Zieloberfläche gekippt wird. Das heißt, der Inhalt oben auf der Quelloberfläche wird an den unteren Rand der Zieloberfläche kopiert und umgekehrt.
Das Festlegen dieses Elements entspricht dem Festlegen des sechsten Bits des 32-Bit-Wertelements (0x00000020).
LinearToSrgb
Ein UINT-Wert, der angibt, ob die linear formatierte Quelle während des Bitblt-Vorgangs 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 Elements entspricht dem Festlegen des siebten Bits des 32-Bit-Elements Wert (0x00000040).
Rotate
Ein UINT-Wert, der angibt, ob die Quelle während des Bitblt-Vorgangs gedreht werden soll.
Das Festlegen dieses Elements entspricht dem Festlegen des achten Bits des 32-Bit-Elements Wert (0x00000080).
BeginPresentToDwm
Ein UINT-Wert, der angibt, ob die Microsoft Direct3D-Runtime während des Bitblt-Vorgangs einen DWM-Present-Vorgang beginnt. Weitere Informationen zu BeginPresentToDwm finden Sie unter Hinweise.
Das Festlegen dieses Elements entspricht dem Festlegen des neunten Bits des 32-Bit-Elements Wert (0x00000100).
ContinuePresentToDwm
Ein UINT-Wert, der angibt, ob die Direct3D-Runtime während des Bitblt-Vorgangs einen DWM-Present-Vorgang fortsetzt. Weitere Informationen zu ContinuePresentToDwm finden Sie unter Hinweise.
Das Festlegen dieses Elements entspricht dem Festlegen des zehnten Bits des 32-Bit-Elements Wert (0x00000200).
EndPresentToDwm
Ein UINT-Wert, der angibt, ob die Direct3D-Runtime einen DWM-Present-Vorgang während des Bitblt-Vorgangs beendet. Weitere Informationen zu EndPresentToDwm finden Sie unter Hinweise.
Das Festlegen dieses Elements entspricht dem Festlegen des elften Bits des 32-Bit-Elements Wert (0x00000400).
Reserved
Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden. Das Festlegen dieses Elements auf 0 (null) entspricht dem Festlegen der verbleibenden 21 Bits (0xFFFFF800) des 32-Bit-Wertmembers auf Nullen.
Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden.
Das Festlegen dieses Elements auf 0 (null) entspricht dem Festlegen der verbleibenden 18 Bits (0xFFFFC000) des 32-Bit-Wertmembers auf Nullen.
Unterstützt ab Windows 8.
Discard
Gibt an, dass der Benutzermodusanzeigetreiber vorherige Inhalte der gesamten Ressource verwerfen kann. Der Treiber kann diese Funktion nutzen, um die Leistung und Die Speicherauslastung zu optimieren.
Wenn dieser Member nicht NULL ist, müssen NoOverwrite und TileableNULL sein.
Das Festlegen dieses Elements entspricht dem Festlegen des zwölften Bits (0xFFFFF800) des 32-Bit-Wertmembers auf Nullen.
Unterstützt ab Windows 8.
NoOverwrite
Gibt an, dass der Aufrufer garantiert, dass auf den Teil der Oberfläche, auf den mit neuen Daten geschrieben wird, derzeit nicht von einem vorherigen Rendervorgang verwiesen wird oder darauf zugegriffen wird. Der Treiber kann diese Funktion nutzen, um die Leistung und Die Speicherauslastung zu optimieren.
Wenn dieser Member nicht NULL ist, muss VerwerfenNULL sein.
Das Festlegen dieses Elements entspricht dem Festlegen des dreizehnten Bits (0x00001000) des 32-Bit-Wertmembers auf Nullen.
Unterstützt ab Windows 8.
Tileable
Gibt für kachelbasiertes verzögertes Rendering an, dass ein Kopiervorgang nur für die aktuell verarbeitete Kachel in der Quell- oder Zielressource ausgeführt werden kann und die Szene nicht in allen Kacheln geleert werden muss.
Wenn dieser Member nicht NULL ist, muss VerwerfenNULL sein.
Das Festlegen dieses Elements entspricht dem Festlegen des vierzehnten Bits (0x00002000) des 32-Bit-Wertmembers auf Nullen.
Unterstützt ab Windows 8.
Value
Ein Member in der Union, das in D3DDDI_BLTFLAGS enthalten ist, das einen 32-Bit-Wert enthalten kann, der den Typ der auszuführenden Bitblt identifiziert.
Hinweise
Die Bitfeldflags BeginPresentToDwm, ContinuePresentToDwm und EndPresentToDwm informieren den Benutzermodusanzeigetreiber über den Zeitpunkt, zu dem die Direct3D-Runtime Teile eines DWM-Present-Vorgangs ausführt. Da DWM-Vorgänge in mehreren Schritten ausgeführt werden können, verwendet die Direct3D-Runtime diese Flags, um die Schritte in einer Sequenz von Bitblts zu markieren. Beispiel:
- Wenn der vorliegende Vorgang aus einem Bitblt besteht, wird die Bitblt wie folgt markiert:
- BeginPresentToDwm = WAHR;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = WAHR;
- Wenn der vorliegende Vorgang aus zwei Bitblts besteht, werden die Bitblts wie in zwei sequenziellen Bitblt-Vorgängen dargestellt markiert:
- Erster Bitblt:
- BeginPresentToDwm = WAHR;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = FALSE;
- Zweite Bitblt:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = WAHR;
- Erster Bitblt:
- Wenn der aktuelle Vorgang aus drei oder mehr Bitblts besteht, werden die Bitblts wie in den folgenden sequenziellen Bitblt-Vorgängen dargestellt markiert:
- Erster Bitblt:
- BeginPresentToDwm = WAHR;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = FALSE;
- Zweite und aufeinanderfolgende Bitblts, ohne die endgültige Bitblt:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = WAHR;
- EndPresentToDwm = FALSE;
- Letzte Bitblt:
- BeginPresentToDwm = FALSE;
- ContinuePresentToDwm = FALSE;
- EndPresentToDwm = WAHR;
- Erster Bitblt:
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows Vista. |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |