Freigeben über


D3DDDI_BLTFLAGS Struktur (d3dumddi.h)

Die D3DDDI_BLTFLAGS Struktur identifiziert den Typ der auszuführenden Bitblockübertragung (Bitblt).

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;

Angehörige

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-Value Members (0x00000001).

Linear

Ein UINT-Wert, der angibt, ob die lineare Filterung in der Bitblockübertragung verwendet werden soll. Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Value Members (0x00000002).

SrcColorKey

Ein UINT-Wert, der angibt, ob die Quellfarbtaste mithilfe des Werts im ColorKey Member 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 dritten Bits des 32-Bit-Value Members (0x00000004).

DstColorKey

Ein UINT-Wert, der angibt, ob die Zielfarbtaste mithilfe des Werts im ColorKey Member 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 vierten Bits des 32-Bit-Value Members (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-Value Members (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-Value Members (0x00000020).

LinearToSrgb

Ein UINT-Wert, der angibt, ob die linear formatierte Quelle während des Bitblt-Vorgangs 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).

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-Value Members (0x00000080).

BeginPresentToDwm

Ein UINT-Wert, der angibt, ob die Microsoft Direct3D-Laufzeit während des Bitblt-Vorgangs einen DWM-Present-Vorgang startet. Weitere Informationen zu BeginPresentToDwmfinden Sie in den Hinweisen.

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

ContinuePresentToDwm

Ein UINT-Wert, der angibt, ob die Direct3D-Laufzeit während des Bitblt-Vorgangs einen DWM-Present-Vorgang fortsetzt. Weitere Informationen zu ContinuePresentToDwmfinden Sie in den Hinweisen.

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

EndPresentToDwm

Ein UINT-Wert, der angibt, ob die Direct3D-Laufzeit einen DWM-Present-Vorgang während des Bitblt-Vorgangs beendet. Weitere Informationen zu EndPresentToDwm-finden Sie in den Hinweisen.

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

Reserved

Dieses Element ist reserviert und sollte auf Null festgelegt werden. Das Festlegen dieses Elements auf Null entspricht dem Festlegen der verbleibenden 21 Bits (0xFFFFF800) des 32-Bit-Werts Members auf Nullen.

Dieses Element ist reserviert und sollte auf Null festgelegt werden.

Das Festlegen dieses Elements auf Null entspricht dem Festlegen der verbleibenden 18 Bits (0xFFFFC000) des 32-Bit-Werts Members auf Nullen.

Wird ab Windows 8 unterstützt.

Discard

Gibt an, dass der Anzeigetreiber für den Benutzermodus vorherige Inhalte der gesamten Ressource verwerfen kann. Der Treiber kann diese Funktion nutzen, um die Leistung und speicherauslastung zu optimieren.

Wenn dieser Member nicht NULL-ist, muss NoOverwrite- und KachelfähigeNULL-sein.

Das Festlegen dieses Elements entspricht dem Festlegen des zwölften Bits (0xFFFFF800) des 32-Bit-Werts Members auf Nullen.

Wird ab Windows 8 unterstützt.

NoOverwrite

Gibt an, dass der Aufrufer garantiert, dass der Teil der Oberfläche, in die mit neuen Daten geschrieben wird, derzeit nicht von einem vorherigen Rendervorgang referenziert oder darauf zugegriffen wird. Der Treiber kann diese Funktion nutzen, um die Leistung und speicherauslastung zu optimieren.

Wenn dieses Element nicht NULL-ist, muss VerwerfenNULL-sein.

Das Festlegen dieses Elements entspricht dem Festlegen des dreizehnten Bits (0x00001000) des 32-Bit-Werts Members auf Nullen.

Wird ab Windows 8 unterstützt.

Tileable

Gibt für das verzögerte Rendern auf Kacheln an, dass ein Kopiervorgang nur auf der aktuell verarbeiteten Kachel in der Quell- oder Zielressource ausgeführt werden kann, und die Szene muss nicht in allen Kacheln geleert werden.

Wenn dieses Element nicht NULL-ist, muss VerwerfenNULL-sein.

Das Festlegen dieses Elements entspricht dem Festlegen des vierzehnten Bits (0x00002000) des 32-Bit-Werts Members auf Nullen.

Wird ab Windows 8 unterstützt.

Value

Ein Mitglied in der Union, das in D3DDDI_BLTFLAGS enthalten ist, der einen 32-Bit-Wert enthalten kann, der den auszuführenden Bitblttyp identifiziert.

Bemerkungen

Die BeginPresentToDwm-, ContinuePresentToDwm-und EndPresentToDwm Bitfeldkennzeichnungen informieren den Anzeigetreiber für den Benutzermodus über den Zeitpunkt, zu dem die Direct3D-Laufzeit Teile eines DWM-Present-Vorgangs ausführt. Da DWM-Vorgänge in mehreren Schritten auftreten können, verwendet die Direct3D-Laufzeit diese Flags, um die Schritte in einer Folge von Bitblts zu markieren. Zum Beispiel:

  • Wenn der vorliegende Vorgang aus einem Bitblt besteht, wird das Bitblt wie folgt markiert:
    • BeginPresentToDwm = TRUE;
    • ContinuePresentToDwm = FALSE;
    • EndPresentToDwm = TRUE;
  • Wenn der vorliegende Vorgang aus zwei Bitblts besteht, werden die Bitblts wie in zwei sequenziellen Bitblt-Vorgängen markiert:
    1. First bitblt:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Second bitblt:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;
  • Wenn der aktuelle Vorgang aus drei oder mehr Bitblts besteht, werden die Bitblts wie in den folgenden sequenziellen Bitblt-Vorgängen dargestellt markiert:
    1. First bitblt:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. Second and successive bitblts, not including the final bitblt:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = TRUE;
      • EndPresentToDwm = FALSE;
    3. Letzte Bitblt:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Header- d3dumddi.h (include D3dumddi.h)

Siehe auch

D3DDDIARG_BLT

Flush