D3DDDI_RESOURCEFLAGS 構造体 (d3dukmdt.h)

D3DDDI_RESOURCEFLAGS構造体は、ドライバーの CreateResource 関数の呼び出しで作成するリソースの種類を識別します。

構文

typedef struct _D3DDDI_RESOURCEFLAGS {
  union {
    struct {
      UINT RenderTarget : 1;
      UINT ZBuffer : 1;
      UINT Dynamic : 1;
      UINT HintStatic : 1;
      UINT AutogenMipmap : 1;
      UINT DMap : 1;
      UINT WriteOnly : 1;
      UINT NotLockable : 1;
      UINT Points : 1;
      UINT RtPatches : 1;
      UINT NPatches : 1;
      UINT SharedResource : 1;
      UINT DiscardRenderTarget : 1;
      UINT Video : 1;
      UINT CaptureBuffer : 1;
      UINT Primary : 1;
      UINT Texture : 1;
      UINT CubeMap : 1;
      UINT Volume : 1;
      UINT VertexBuffer : 1;
      UINT IndexBuffer : 1;
      UINT DecodeRenderTarget : 1;
      UINT DecodeCompressedBuffer : 1;
      UINT VideoProcessRenderTarget : 1;
      UINT CpuOptimized : 1;
      UINT MightDrawFromLocked : 1;
      UINT Overlay : 1;
      UINT MatchGdiPrimary : 1;
      UINT InterlacedRefresh : 1;
      UINT TextApi : 1;
      UINT RestrictedContent : 1;
      UINT RestrictSharedAccess : 1;
    };
    UINT Value;
  };
} D3DDDI_RESOURCEFLAGS;

メンバー

RenderTarget

このメンバーの設定は、32 ビット メンバー (0x00000001) の最初のビットを設定することと同じです。

ZBuffer

サーフェスが z バッファーであるかどうかを示す UINT 値。 z バッファーには、表示されるピクセルと隠れているピクセルを決定するために使用されるビット深度情報が含まれています。 z バッファーには、表示できない情報が含まれています。

このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。

Dynamic

サーフェスを頻繁に更新するかどうかを指定する UINT 値。 このビット フィールド フラグは 、HintStatic ビット フィールド フラグと共に使用できません。

このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。

HintStatic

サーフェスの更新頻度が低いが、引き続きアクセスを許可する必要があるかどうかを示す UINT 値。 このビット フィールド フラグは、 動的 ビット フィールド フラグでは使用できません。

このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。

AutogenMipmap

サーフェスの MIP マップ サブレベルを自動的に生成するかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。

DMap

ディスプレイスメント マップ サンプラーがテセレーション ユニットでサンプリングできるディスプレイスメント マップ テクスチャかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000020) の 6 番目のビットを設定することと同じです。

WriteOnly

サーフェスの書き込みのみが可能かどうかを示す UINT 値。 サーフェスからの読み取りアクセスでは、一般的な保護エラー (GPF) が生成される可能性があります。 サーフェスが読み取り元の場合、読み取り結果は意味がありません。

このメンバーの設定は、32 ビット Value メンバー (0x00000040) の 7 番目のビットを設定することと同じです。

NotLockable

レンダー ターゲットがロック可能かどうかを示す UINT 値。 反転チェーンがロックできない場合、またはロックできないレンダー ターゲットでは、このビット フィールド フラグがプライマリ バッファーとバック バッファーに設定されます。 その後、ドライバーはバックグラウンド最適化を実行できます。

このフラグが設定されていても、サーフェスはロックされたままであるため、ドライバーはこの状況を処理する必要があります。 ただし、このようなロックは頻度が低く、高速であるとは思われません。

ドライバーは、このビット フィールド フラグが存在することで、深度バッファーとステンシル バッファーのどちらがロック可能かを判断することもできます。

このメンバーの設定は、32 ビット Value メンバー (0x00000080) の 8 番目のビットを設定することと同じです。

Points

ポイントとポイント スプライトのレンダリングに使用できる頂点バッファー データをサーフェスに含めるかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000100) の 9 番目のビットを設定することと同じです。

RtPatches

rt パッチのレンダリングに使用できる頂点バッファー データをサーフェスに含めるかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000200) の 10 ビットを設定することと同じです。

NPatches

n パッチのレンダリングに使用できる頂点バッファー データをサーフェスに含めるかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000400) の 11 ビットを設定することと同じです。

SharedResource

複数のデバイスとプロセスがサーフェスを共有するかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000800) の 12 ビットを設定することと同じです。

DiscardRenderTarget

サーフェスの保持が必要かどうかを示す UINT 値。 サーフェスをレンダー ターゲットとして使用する場合、その保持は必要ありません。

このメンバーの設定は、32 ビット Value メンバー (0x00001000) の 13 番目のビットを設定することと同じです。

Video

サーフェスがビデオ データを含むレンダー ターゲットであるかどうかを示す UINT 値。

このフラグを使用して複数のレンダー ターゲットを作成できることに注意してください。これらのレンダー ターゲットの 2 つ以上が同じ Microsoft Direct3D コンテキストに属している場合、ドライバーは、レンダー ターゲット サーフェスが互いにアタッチされているかどうかに関係なく、これらのレンダー ターゲットがすべて同じビデオ ストリームを表示する必要があると判断します。

このメンバーの設定は、32 ビット Value メンバー (0x00002000) の 14 ビットを設定することと同じです。

CaptureBuffer

リソースがキャプチャ バッファーであるかどうかを示す UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00004000) の 15 ビットを設定することと同じです。

Primary

サーフェスがプライマリ サーフェスであるかどうかを示す UINT 値。つまり、サーフェスが現在ユーザーに表示されているかどうかを示します。

このメンバーの設定は、32 ビット Value メンバー (0x00008000) の 16 番目のビットを設定することと同じです。

Texture

サーフェスをテクスチャとして使用できるかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00010000) の 17 ビットを設定することと同じです。

CubeMap

サーフェスが立方環境マップであるかどうかを示す UINT 値。 このビット フィールド フラグでは、 Texture ビット フィールド フラグが設定されている必要があります。

このメンバーの設定は、32 ビット Value メンバー (0x00020000) の 18 ビットを設定することと同じです。

Volume

幅と高さに加えて、サーフェスに奥行きがあるかどうかを指定する UINT 値。つまり、サーフェスがボリュームであるかどうかを示します。 このビット フィールド フラグでは、 Texture ビット フィールド フラグが設定されている必要があります。

このメンバーの設定は、32 ビット Value メンバー (0x00040000) の 19 番目のビットを設定することと同じです。

VertexBuffer

サーフェスが頂点バッファーであるかどうかを示す UINT 値 (つまり、頂点を格納します)。

このメンバーの設定は、32 ビット Value メンバー (0x00080000) の 20 ビットを設定することと同じです。

IndexBuffer

サーフェスがインデックス バッファーであるかどうかを示す UINT 値 (つまり、インデックスを格納します)。

このメンバーの設定は、32 ビット Value メンバー (0x00100000) の 21 ビットを設定することと同じです。

DecodeRenderTarget

Microsoft DirectX ビデオ アクセラレーション (DirectX VA) デコードのレンダー ターゲットとしてサーフェスを使用するかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00200000) の 22 秒ビットを設定することと同じです。

DecodeCompressedBuffer

DirectX VA デコード用の圧縮バッファー情報がサーフェスに含まれるかどうかを示す UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00400000) の 23 番目のビットを設定することと同じです。

VideoProcessRenderTarget

DirectX VA ビデオ処理のレンダー ターゲットとしてサーフェスを使用するかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00800000) の 24 ビットを設定することと同じです。

CpuOptimized

CPU がリソースに頻繁にアクセスするかどうかを指定する UINT 値。

ドライバーは、CPU がすばやくアクセスできるメモリ プール (AGP メモリなど) にリソースを配置する必要があります。 ディスプレイ ミニポート ドライバーは、DxgkDdiCreateAllocation 関数が呼び出されたときに、DXGK_ALLOCATIONINFO構造体の Flags メンバーでキャッシュされたビット フィールド フラグを設定することで、メモリにキャッシュ可能なフラグを設定する必要があります。

通常、CpuOptimized フラグはレンダー ターゲット (スタンドアロン レンダー ターゲットとテクスチャの両方) に設定されます。

このメンバーの設定は、32 ビット Value メンバー (0x01000000) の 25 ビットを設定することと同じです。

MightDrawFromLocked

Direct3D ランタイムによって頂点バッファーがロックされている場合でも、ドライバーが頂点バッファーからの描画を要求される可能性があるかどうかを指定する UINT 値。 この要求は、ドライバーが、時には、その DrawIndexedPrimitiveDrawIndexedPrimitive2DrawPrimitive、DrawPrimitive2 関数の呼び出しを受け取ることができることを意味します。ここで、頂点データは、MightDrawFromLocked でマークされたロックされた頂点バッファー内で参照されます。 ランタイムは、(ハードウェアではなく) ソフトウェア変換と照明を実行するシナリオで、これらの種類の呼び出しを行う必要があります。 通常、これらのシナリオは発生しません。

ただし、ランタイムによって頂点バッファーがロックされているため、ドライバーは pfnRenderCb 関数を呼び出す前に pfnUnlockCb 関数を呼び出すことができません。 その結果、ドライバーは、システムまたは AGP メモリ セグメント内の頂点バッファーをサポートする必要があります。それ以外の場合、ビデオ メモリ マネージャーはレンダリングを拒否します。 ハードウェアが頂点バッファーからアクティブにレンダリングされるときに、ランタイムによってロックされた頂点バッファー内のデータが上書きされないため、ドライバーは他の特別なアクションを実行する必要はありません。

このメンバーの設定は、32 ビット Value メンバー (0x02000000) の 26 ビットを設定することと同じです。

Overlay

リソースがオーバーレイであるかどうかを示す UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x04000000) の 27 ビットを設定することと同じです。

MatchGdiPrimary

リソースが、 D3DKMDT_SHAREDPRIMARYSURFACEDATA 構造体を使用して作成された現在の GDI プライマリ サーフェスのすべてのプロパティと一致するプライマリ サーフェスであるかどうかを示す UINT 値。 たとえば、一致するプライマリ サーフェスから現在の GDI プライマリ サーフェスへの反転、およびその逆の反転が可能です。

このメンバーの設定は、32 ビット Value メンバー (0x08000000) の 28 ビットを設定することと同じです。

InterlacedRefresh

リソースがインターレース表示モードで使用されるプライマリ サーフェスであるかどうかを示す UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x10000000) の 29 ビットを設定することと同じです。

TextApi

リソースをテクスチャ フィルター処理に使用できるか、入力ストリーム ソースとして使用できるかを指定する UINT 値。 TextApi ビット フィールド フラグを設定してテクスチャを作成する場合、テクスチャフィルターには使用できません。 TextApi ビット フィールド フラグを設定して頂点バッファーを作成する場合、入力ストリーム ソースとして使用することはできません。 ComposeRects 関数の呼び出しで使用される頂点バッファーとソース サーフェスには、TextApi ビット フィールド フラグを指定する必要があります。

このメンバーの設定は、32 ビット Value メンバー (0x20000000) の 30 番目のビットを設定することと同じです。

RestrictedContent

Windows 7 以降のバージョンでサポートされています。

リソースに保護されたコンテンツが含まれているかどうかを示す UINT 値。 ほとんどの状況では、アプリケーションが制限付きリソースを作成する前に、アプリケーションでコンテンツ保護が明示的に有効になっています。 ただし、制限付き全画面表示排他モードスワップチェーンを作成する場合、アプリケーションはコンテンツ保護を明示的に有効にする必要はありません。

このメンバーの設定は、32 ビット Value メンバー (0x40000000) の 31 ビットを設定することと同じです。

RestrictSharedAccess

Windows 7 以降のバージョンでサポートされています。

ランタイムが共有リソースへの特定のプロセスアクセスのみを許可するかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x80000000) の 32 秒ビットを設定することと同じです。

Value

作成するリソースの種類を識別する 32 ビット値。

要件

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

こちらもご覧ください

CreateResource

D3DDDIARG_CREATERESOURCE