Freigeben über


FORMATOP-Struktur (d3dumddi.h)

Die FORMATOP- Struktur beschreibt ein Oberflächenformat und Vorgänge, die mit einer solchen Oberfläche ausgeführt werden können.

Syntax

typedef struct _FORMATOP {
  [in]  D3DDDIFORMAT Format;
  [out] UINT         Operations;
  [out] UINT         FlipMsTypes;
  [out] UINT         BltMsTypes;
  [out] UINT         PrivateFormatBitCount;
} FORMATOP;

Angehörige

[in] Format

Der wert vom Typ "-typed" D3DDDIFORMAT, der das Pixelformat der Oberfläche angibt.

[out] Operations

Eine gültige bitweise ODER der folgenden Flags, die die Vorgänge angeben, die auf Oberflächen mit dem Pixelformat ausgeführt werden können, das im Format Member angegeben ist. Einige der folgenden Flags deuten darauf hin, dass andere Flags verwendet werden sollten. Wenn ein Treiber ein Flag festlegt, das andere Flags impliziert, ist der Treiber nicht erforderlich, um die implizierten Flags festzulegen, und die Direct3D-Laufzeit bestimmt die Verwendung der implizierten Flags.

FORMATOP_TEXTURE (0x00000001L)

Oberflächen des angegebenen Pixelformats können als MIP-zugeordnete Texturen verwendet werden.

FORMATOP_VOLUMETEXTURE (0x00000002L)

Oberflächen dieses Formats können als Volumentexturen verwendet werden. Beachten Sie, dass diese Kennzeichnung unabhängig von FORMATOP_TEXTURE ist. Daher kann ein Pixelformat für Volumentexturen und nicht für herkömmliche, MIP-zugeordnete Texturen verwendet werden.

FORMATOP_CUBETEXTURE (0x00000004L)

Oberflächen dieses Formats können als kubische Umgebungszuordnungstexturen verwendet werden. Beachten Sie, dass diese Kennzeichnung unabhängig von FORMATOP_TEXTURE ist. Daher kann ein Pixelformat für kubische Umgebungszuordnungstexturen und nicht für herkömmliche, MIP-zugeordnete Texturen verwendet werden.

FORMATOP_OFFSCREEN_RENDERTARGET (0x00000008L)

Oberflächen dieses Formats können unabhängig vom Pixelformat des Anzeigemodus als Offscreen-Renderziele verwendet werden, wenn das Pixelformat des aktuellen Anzeigemodus mit FORMATOP_DISPLAYMODE und FORMATOP_3DACCELERATION gemeldet wurde. Wenn das Pixelformat des aktuellen Anzeigemodus diese Flags nicht festgelegt hat, ist in diesem Modus keine 3D-Beschleunigung verfügbar, auch wenn das Renderziel deaktiviert ist. Das FORMATOP_OFFSCREEN_RENDERTARGET-Flag kann mit FORMATOP_TEXTURE kombiniert werden, um anzugeben, dass das Gerät in Texturen des angegebenen Pixelformats gerendert werden kann.

Das FORMATOP_OFFSCREEN_RENDERTARGET Flag impliziert auch die FORMATOP_SAME_FORMAT_RENDERTARGET und FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET Flags.

FORMATOP_SAME_FORMAT_RENDERTARGET (0x00000010L)

Oberflächen dieses Formats können als Renderziele verwendet werden, jedoch nur, wenn das Pixelformat der Oberfläche mit dem Pixelformat des aktuellen Anzeigemodus übereinstimmt. Dieses Flag gilt nicht nur für Offscreen-Renderziele, sondern kann in den Pixelformaten der Anzeigemodi angegeben werden, um die Renderingzielfunktion anzugeben. Dieses Kennzeichen kann mit FORMATOP_TEXTURE kombiniert werden, um anzugeben, dass das Gerät in Texturen des angegebenen Pixelformats gerendert werden kann.

Das FORMATOP_SAME_FORMAT_RENDERTARGET Flag impliziert auch die FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET Kennzeichnung.

FORMATOP_ZSTENCIL (0x00000040L)

Oberflächen dieses Formats können als Z/Schablonenpuffer verwendet werden, jedoch nur, wenn die Tiefe der Z/Schablonenoberfläche mit der Farbtiefe des Renderingziels übereinstimmt, an das der Tiefenpuffer angefügt ist. Verwenden Sie die Pixelstride, wenn Sie sich für eine Übereinstimmung zwischen Z/Schablone und Farbpuffertiefe entscheiden.

FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH (0x00000080L)

Oberflächen dieses Formats können als Z/Schablonenpuffer verwendet werden, unabhängig von der Farbtiefe des Renderziels, an das die Oberfläche angefügt ist.

Das FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH Flag impliziert auch die FORMATOP_ZSTENCIL Kennzeichnung.

FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET (0x00000100L)

Oberflächen dieses Formats können als Renderziele verwendet werden, wenn der aktuelle Anzeigemodus die gleiche Tiefe aufweist und der Alphakanal ignoriert wird. Wenn das Gerät beispielsweise auf A8R8G8B8 rendern kann, wenn der Anzeigemodus X8R8G8B8 ist, sollte der Eintrag für die Formatvorgangsliste für A8R8G8B8 diese Kennzeichnung festlegen.

FORMATOP_DISPLAYMODE (0x00000400L)

Ein Anzeigemodus mit diesem Pixelformat, das vom Treibermodell unterstützt wird (einschließlich Flip). Dieses Kennzeichen sollte nicht für Alphaformate festgelegt werden.

FORMATOP_3DACCELERATION (0x00000800L)

Die Grafikbeschleuniger kann eine Gewisse Ebene der Microsoft Direct3D-Beschleunigung unterstützen, wenn sie sich in einem Anzeigemodus mit diesem Pixelformat befindet, und der Treiber kann einen Kontext in diesem Modus erstellen (für ein Renderzielformat). Dieses Kennzeichen kann nur verwendet werden, wenn Anzeigemodusformate gemeldet werden (durch Angabe des FORMATOP_DISPLAYMODE). Dieses Kennzeichen sollte nicht zum Melden von Formaten für offscreen-Renderziele verwendet werden.

FORMATOP_PIXELSIZE (0x00001000L)

Der Treiber hat die Bits pro Pixel für das Format im PrivateFormatBitCount Member ausgefüllt.

Wenn der Treiber erfordert, dass verwaltete Oberflächen und Texturen ein privates Format verwenden (ein Format, das vom Treiber verarbeitet werden kann, aber nicht nativ von der Direct3D-Laufzeit), muss der Treiber FORMATOP_PIXELSIZE und die Pixelgröße in PrivateFormatBitCountangeben.

FORMATOP_CONVERT_TO_ARGB (0x00002000L)

Quelloberflächen dieses Formats können in eine beliebige Zieloberfläche mit einem RGB-Pixelformat konvertiert werden, das das FORMATOP_MEMBEROFGROUP_ARGB Flag angegeben hat.

FORMATOP_OFFSCREENPLAIN (0x00004000L)

Der Treiber kann bis zu und von farbfüllbaren Oberflächen dieses Formats dehnen.

FORMATOP_SRGBREAD (0x00008000L)

Oberflächen dieses Formats können als sRGB--formatierte Texturen gelesen werden (d. r., der Sampler linearisiert die Nachschlagedaten).

FORMATOP_BUMPMAP (0x00010000L)

Oberflächen dieses Formats können als Bumpumgebungszuordnungstexturen verwendet werden. Beachten Sie, dass diese Kennzeichnung unabhängig von FORMATOP_TEXTURE ist. Daher kann ein Pixelformat für Bumpumgebungszuordnungstexturen und nicht für herkömmliche, MIP-zugeordnete Texturen verwendet werden.

FORMATOP_DMAP (0x00020000L)

Der Sampler für die Verdrängungszuordnung kann Oberflächen dieses Formats beispielen.

FORMATOP_NOFILTER (0x00040000L)

Oberflächen dieses Formats können nicht mit Texturfilterung verwendet werden.

FORMATOP_MEMBEROFGROUP_ARGB (0x000800000L)

Zieloberflächen dieses Formats können von jeder Quelloberfläche mit einem Pixelformat konvertiert werden, das das FORMATOP_CONVERT_TO_ARGB Flag angegeben hat. Der Treiber kann FORMATOP_MEMBEROFGROUP_ARGB nur für ARGB-Oberflächen mit mindestens 5 Bit Farbinformationen für jeden Kanal angeben. Das heißt, das D3DDDIFMT_A1R5G5B5 Format ist gültig, aber das D3DDDIFMT_A4R4G4B4 Format ist ungültig. Wenn der Treiber FORMATOP_MEMBEROFGROUP_ARGB mit einem ungültigen Format angibt, verhindert die Direct3D-Laufzeit, dass direct3D HAL geladen wird. Beachten Sie, dass diese Kennzeichnung zwar ARGB-Formate angibt, die Laufzeit ermöglicht dem Treiber jedoch auch das Angeben von Oberflächen mit XRGB-Formaten (z. B. D3DDDIFMT_X1R5G5B5).

FORMATOP_SRGBWRITE (0x00100000L)

Oberflächen dieses Formats können als sRGB--formatierte Ziele geschrieben werden (d. r. die Pixelpipe delinearisiert Daten für die Ausgabe in diesem Format).

FORMATOP_NOALPHABLEND (0x00200000L)

Oberflächen dieses Formats können nicht mit Alphamischung verwendet werden.

FORMATOP_AUTOGENMIPMAP (0x00400000L)

Die Unterebenen von MIP-zugeordneten Texturen mit diesem Format können automatisch generiert werden. Damit der Treiber Aufrufe an die GenerateMipSubLevels-Funktion empfängt, muss dieses Flag verfügbar gemacht werden.

FORMATOP_VERTEXTEXTURE (0x008000000L)

Ein Vertextexttext-Sampler kann Oberflächen dieses Formats verwenden. Das heißt, nur Oberflächen dieses Formats können als Vertextexturen verwendet werden.

FORMATOP_NOTEXCOORDWRAPNORMIP (0x01000000L)

Oberflächen dieses Formats können nur bedingt für die Texturzuordnung von 2D-Texturen mit Dimensionen verwendet werden, die keine Mächte von 2 sind. Weitere Informationen finden Sie in den Definitionen für D3DPTEXTURECAPS_POW2 und D3DPTEXTURECAPS_NONPOW2CONDITIONAL auf der D3DPRIMCAPS Referenzseite.

FORMATOP_PLANAR (0x020000000L)

Oberflächen dieses Formats sind planar im Vergleich zu gepackt. Die Direct3D-Laufzeit muss einen Puffer zuweisen, wenn der Benutzermodus-Anzeigetreiber Lock--Funktion auf einer Oberfläche mit einem Planarformat aufruft, während die Oberfläche verloren geht und die typische Berechnung der Höhe der Neigung multiplizierte Zeiten nicht möglich ist. Die meisten Formate sind verpackt, mit Ausnahme derjenigen, die die Microsoft DirectX Video Acceleration verwendet (z. B. YUV-Formate).

FORMATOP_OVERLAY (0x04000000L)

Oberflächen dieses Formats werden für Überlagerungsvorgänge verwendet.

FORMATOP_CAPTURE (0x080000000L)

Wenn das VideoEncoder Element der D3DDDI_RESOURCEFLAGS2 Struktur festgelegt ist, können Oberflächen dieses Formats als Aufnahmepuffer verwendet werden.

Wird ab Windows 8 unterstützt.

FORMATOP_VIDEO_ENCODER (0x10000000L)

Wenn das VideoEncoder- Mitglied der D3DDDI_RESOURCEFLAGS2 Struktur festgelegt ist, können Oberflächen dieses Formats als Videogebereingaberessourcen verwendet werden.

Wird ab Windows 8 unterstützt.

FORMATOP_MULTIPLANE_OVERLAY (0x200000000L)

Oberflächen dieses Formats unterstützen eine Mehrplanüberlagerung.

Wird ab Windows 8 unterstützt.

[out] FlipMsTypes

Eine 32-Bitmaske für mehrere Samplings im Vollbildmodus.

[out] BltMsTypes

Eine 32-Bitmaske für das mehrfache Sampling mit Fenstern.

[out] PrivateFormatBitCount

Die Bits pro Pixel eines Pixelformats, das für den Treiber privat ist (d. h. keine der Standardpixelformate, die vom D3DDDIFORMAT Enumerationstyp definiert werden).

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Header- d3dumddi.h (include D3dumddi.h)

Siehe auch

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

D3DDDIFORMAT

D3DDDI_RESOURCEFLAGS2

GetCaps-