次の方法で共有


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 ビット Value メンバー (0x00000001) の最初のビットを設定することと同じです。

ZBuffer

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

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

Dynamic

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

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

HintStatic

サーフェスが頻繁に更新されるのにアクセスを許可する必要があるかどうかを示す UINT 値。 このビット フィールド フラグは、Dynamic ビット フィールド フラグでは使用できません。

このメンバーの設定は、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) の 30 秒ビットを設定することと同じです。

Value

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

必要条件

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

関連項目

CreateResource

D3DDDIARG_CREATERESOURCE