FORMATOP 構造体 (d3dumddi.h)

FORMATOP 構造体は、このようなサーフェスで実行できるサーフェスの形式と操作を記述します。

構文

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

メンバー

[in] Format

サーフェスのピクセル形式を示す D3DDDIFORMAT型指定された値。

[out] Operations

Format メンバーで指定されたピクセル形式のサーフェスに対して実行できる操作を示す、次のフラグの有効なビットごとの OR。 次のフラグの一部は、他のフラグを使用する必要があることを意味します。 ドライバーが他のフラグを意味するフラグを設定する場合、ドライバーは暗黙的なフラグを設定する必要はありません、Direct3D ランタイムは、暗黙的なフラグの使用を決定します。

FORMATOP_TEXTURE (0x00000001L)

指定したピクセル形式のサーフェスは、MIP マップテクスチャとして使用できます。

FORMATOP_VOLUMETEXTURE (0x00000002L)

この形式のサーフェスは、ボリューム テクスチャとして使用できます。 このフラグは、FORMATOP_TEXTUREとは無関係であることに注意してください。 そのため、ピクセル形式は、従来の MIP マップ テクスチャではなく、ボリューム テクスチャに使用できます。

FORMATOP_CUBETEXTURE (0x00000004L)

この形式のサーフェスは、立方環境マップ テクスチャとして使用できます。 このフラグは、FORMATOP_TEXTUREとは無関係であることに注意してください。 そのため、ピクセル形式は、従来の MIP マップ テクスチャではなく、立方環境マップ テクスチャに使用できます。

FORMATOP_OFFSCREEN_RENDERTARGET (0x00000008L)

現在の表示モードのピクセル形式がFORMATOP_DISPLAYMODEおよびFORMATOP_3DACCELERATIONで報告された場合、表示モードのピクセル形式に関係なく、この形式のサーフェスをオフスクリーン レンダー ターゲットとして使用できます。 現在の表示モードのピクセル形式にこれらのフラグが設定されていない場合、レンダー ターゲットがオフスクリーンであっても、このモードでは 3-D アクセラレーションは使用できません。 FORMATOP_OFFSCREEN_RENDERTARGET フラグを FORMATOP_TEXTURE と組み合わせて、デバイスが指定したピクセル形式のテクスチャにレンダリングできることを示すことができます。

FORMATOP_OFFSCREEN_RENDERTARGET フラグは、FORMATOP_SAME_FORMAT_RENDERTARGETフラグとFORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET フラグも意味します。

FORMATOP_SAME_FORMAT_RENDERTARGET (0x00000010L)

この形式のサーフェスはレンダー ターゲットとして使用できますが、サーフェスのピクセル形式が現在の表示モードのピクセル形式と一致する場合にのみ使用できます。 このフラグは、オフスクリーン レンダー ターゲットにのみ適用されるわけではありませんが、表示モードのピクセル形式で指定して、レンダリング ターゲットの機能を示すことができます。 このフラグを FORMATOP_TEXTURE と組み合わせて、デバイスが指定したピクセル形式のテクスチャにレンダリングできることを示すことができます。

FORMATOP_SAME_FORMAT_RENDERTARGET フラグは、FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET フラグも意味します。

FORMATOP_ZSTENCIL (0x00000040L)

この形式のサーフェスは、Z/ステンシル バッファーとして使用できますが、Z/ステンシル サーフェスの深度が深度バッファーがアタッチされているレンダリング ターゲットの色深度と一致する場合にのみ使用できます。 Z/ステンシルとカラー バッファーの深度の一致を決定する場合は、ピクセルストライドを使用します。

FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH (0x00000080L)

この形式のサーフェスは、サーフェスがアタッチされているレンダー ターゲットの色深度に関係なく、Z/ステンシル バッファーとして使用できます。

FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH フラグは、FORMATOP_ZSTENCIL フラグも意味します。

FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET (0x00000100L)

現在の表示モードが同じ深度でアルファ チャネルが無視される場合、この形式のサーフェスをレンダー ターゲットとして使用できます。 たとえば、表示モードがX8R8G8B8のときにデバイスが A8R8G8B8 にレンダリングできる場合、A8R8G8B8の書式操作リスト エントリには、このフラグが設定されている必要があります。

FORMATOP_DISPLAYMODE (0x00000400L)

ドライバー モデルでサポートされているこのピクセル形式の表示モード (Flip を含む)。 このフラグはアルファ形式では設定しないでください。

FORMATOP_3DACCELERATION (0x00000800L)

グラフィックス アクセラレータは、このピクセル形式の表示モードの場合、Microsoft Direct3D アクセラレータの一部のレベルをサポートでき、ドライバーはこのモードでコンテキストを作成できます (一部のレンダー ターゲット形式の場合)。 このフラグは、(FORMATOP_DISPLAYMODEを指定して) 表示モード形式をレポートする場合にのみ使用できます。 このフラグは、オフスクリーン レンダー ターゲットの形式をレポートするために使用しないでください。

FORMATOP_PIXELSIZE (0x00001000L)

PrivateFormatBitCount メンバーの形式のピクセルあたりのビット数を入力したドライバー。

ドライバーでマネージド サーフェスとテクスチャでプライベート形式 (ドライバーで処理できますが、Direct3D ランタイムではネイティブに処理できない形式) を使用する必要がある場合、ドライバーは PrivateFormatBitCount でFORMATOP_PIXELSIZEとピクセル サイズを指定する必要があります。

FORMATOP_CONVERT_TO_ARGB (0x00002000L)

この形式のソース サーフェスは、FORMATOP_MEMBEROFGROUP_ARGB フラグが指定された RGB ピクセル形式の任意のターゲット サーフェスに変換できます。

FORMATOP_OFFSCREENPLAIN (0x00004000L)

ドライバーは、この形式のサーフェスを拡大したり、色を塗りつぶしたりできます。

FORMATOP_SRGBREAD (0x00008000L)

この形式のサーフェスは、 sRGB 形式のテクスチャとして読み取ることができます (つまり、サンプラーは検索されたデータを線形化します)。

FORMATOP_BUMPMAP (0x00010000L)

この形式のサーフェスは、バンプ環境マップ テクスチャとして使用できます。 このフラグは、FORMATOP_TEXTUREとは無関係であることに注意してください。 そのため、ピクセル形式は、従来の MIP マップ テクスチャではなく、バンプ環境マップ テクスチャに使用できます。

FORMATOP_DMAP (0x00020000L)

ディスプレイスメント マップ サンプラーは、この形式のサーフェスをサンプリングできます。

FORMATOP_NOFILTER (0x00040000L)

この形式のサーフェスは、テクスチャ フィルタリングでは使用できません。

FORMATOP_MEMBEROFGROUP_ARGB (0x00080000L)

この形式のターゲット サーフェスは、FORMATOP_CONVERT_TO_ARGB フラグが指定されたピクセル形式の任意のソース サーフェスから変換できます。 ドライバーは、チャネルごとに少なくとも 5 ビットの色情報を持つ ARGB サーフェスに対してのみ、FORMATOP_MEMBEROFGROUP_ARGBを指定できます。 つまり、D3DDDIFMT_A1R5G5B5形式は有効ですが、D3DDDIFMT_A4R4G4B4形式は無効です。 ドライバーで無効な形式のFORMATOP_MEMBEROFGROUP_ARGBが指定されている場合、Direct3D ランタイムは Direct3D HAL の読み込みを妨げます。 このフラグは ARGB 形式を示しますが、ランタイムではドライバーが XRGB 形式 (たとえば、D3DDDIFMT_X1R5G5B5) を使用してサーフェスを指定することもできます。

FORMATOP_SRGBWRITE (0x00100000L)

この形式のサーフェスは、 sRGB 形式のターゲットとして に書き込むことができます (つまり、ピクセル パイプは、出力のデータをこの形式に線引きします)。

FORMATOP_NOALPHABLEND (0x00200000L)

この形式のサーフェスはアルファ ブレンドでは使用できません。

FORMATOP_AUTOGENMIPMAP (0x00400000L)

この形式の MIP マップ テクスチャのサブレベルは、自動的に生成できます。 ドライバーが GenerateMipSubLevels 関数の呼び出しを受信するには、このフラグを公開する必要があります。

FORMATOP_VERTEXTEXTURE (0x00800000L)

頂点テクスチャ サンプラーでは、この形式のサーフェスを使用できます。 つまり、頂点テクスチャとして使用できるのは、この形式のサーフェスだけです。

FORMATOP_NOTEXCOORDWRAPNORMIP (0x01000000L)

この形式のサーフェスは、2 の累乗ではないディメンションを持つ 2-D テクスチャのテクスチャ マッピングにのみ条件付きで使用できます。 詳細については、D3DPRIMCAPS リファレンス ページの「D3DPTEXTURECAPS_POW2とD3DPTEXTURECAPS_NONPOW2CONDITIONALの定義 を参照してください。

FORMATOP_PLANAR (0x02000000L)

この形式のサーフェスは平面とパックです。 Direct3D ランタイムは、サーフェスが失われ、ピッチの高さの一般的な計算が不可能な場合に、平面形式のサーフェスでユーザー モード ディスプレイ ドライバーの Lock 関数を呼び出す場合にバッファーを割り当てる必要があります。 ほとんどの形式は、Microsoft DirectX ビデオ アクセラレーションで使用される形式 (YUV 形式など) を除いてパックされています。

FORMATOP_OVERLAY (0x04000000L)

この形式のサーフェスは、オーバーレイ操作に使用されます。

FORMATOP_CAPTURE (0x08000000L)

D3DDDI_RESOURCEFLAGS2構造体の VideoEncoder メンバーが設定されている場合は、この形式のサーフェスをキャプチャ バッファーとして使用できます。

Windows 8 以降でサポートされています。

FORMATOP_VIDEO_ENCODER (0x10000000L)

D3DDDI_RESOURCEFLAGS2構造体の VideoEncoder メンバーが設定されている場合は、この形式のサーフェスをビデオ エンコーダー入力リソースとして使用できます。

Windows 8 以降でサポートされています。

FORMATOP_MULTIPLANE_OVERLAY (0x20000000L)

この形式のサーフェスでは、マルチプレーン オーバーレイがサポートされています。

Windows 8 以降でサポートされています。

[out] FlipMsTypes

全画面表示の複数サンプリング用の 32 ビットマスク。

[out] BltMsTypes

ウィンドウ化された複数サンプリング用の 32 ビットマスク。

[out] PrivateFormatBitCount

ドライバーに対してプライベートなピクセル形式のピクセルあたりのビット数 (つまり、 D3DDDIFORMAT 列挙型で定義されている標準的なピクセル形式の 1 つではありません)。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

D3DDDIFORMAT

D3DDDI_RESOURCEFLAGS2

GetCaps