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 値。 この要求は、ドライバーが、DrawIndexedPrimitive、DrawIndexedPrimitive2、DrawPrimitive、および 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 の