D3D11_RESOURCE_FLAGS 構造体 (d3d11on12.h)
ID3D11On12Device::CreateWrappedResource と共に使用して、バインド フラグ、その他のフラグ、CPU アクセス フラグなど、リソース プロパティまたはヒープ プロパティによって推論されるフラグをオーバーライドします。
構文
typedef struct D3D11_RESOURCE_FLAGS {
UINT BindFlags;
UINT MiscFlags;
UINT CPUAccessFlags;
UINT StructureByteStride;
} D3D11_RESOURCE_FLAGS;
メンバー
BindFlags
グラフィックス ドライバーが一般的な D3D12 リソースを D3D11 で理解できるものにスコープを設定できるようにするには、バインド フラグを完全に推論するか、完全に指定する必要があります。
指定されたリソースでサポートされていないバインド フラグが指定されている場合は、エラーが返されます。
次のバインド フラグ (D3D11_BIND_FLAG 列挙定数) は想定されません。このような方法でリソースを使用するには、指定する必要があります。
- D3D11_BIND_VERTEX_BUFFER
- D3D11_BIND_INDEX_BUFFER
- D3D11_BIND_CONSTANT_BUFFER
- D3D11_BIND_STREAM_OUTPUT
- D3D11_BIND_DECODER
- D3D11_BIND_VIDEO_ENCODER
- D3D12_RESOURCE_MISC_DENY_SHADER_RESOURCEが存在しない限り、D3D11_BIND_SHADER_RESOURCE
- D3D11_BIND_RENDER_TARGET(D3D12_RESOURCE_MISC_ALLOW_RENDER_TARGETが存在する場合)
- D3D12_RESOURCE_MISC_ALLOW_DEPTH_STENCILが存在する場合は、D3D11_BIND_DEPTH_STENCIL
- D3D11_BIND_UNORDERED_ACCESS(D3D12_RESOURCE_MISC_ALLOW_UNORDERED_ACCESSが存在する場合)
MiscFlags
その他のフラグが 0 以外の場合、指定されたフラグは、推論されたフラグを持つ最終的なリソース desc に OR'd になります。 機能を追加するために、その他のフラグを部分的に指定できますが、暗黙的なその他のフラグはマスクアウトできません。
次のその他のフラグ (D3D11_RESOURCE_MISC_FLAG 列挙定数) は想定されません。
- D3D11_RESOURCE_MISC_GENERATE_MIPS (CLAMP と競合しています)。
- D3D11_RESOURCE_MISC_TEXTURECUBE (既定のビューの動作を変更します)。
- D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS (一部のバインド フラグでは排他的)。
- D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS (他の種類の UAV では排他的)。
- D3D11_RESOURCE_MISC_BUFFER_STRUCTURED (他の種類の UAV では排他的)。
- D3D11_RESOURCE_MISC_RESOURCE_CLAMP (D3D10 QIs、GENERATE_MIPSとの競合を禁止します)。
- D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX。 D3D11 キー付きミューテックス リソースを作成し、その共有ハンドルを作成し、11on12 または D3D11 経由で開くこともできます。
- 適切なヒープの誤ったフラグが存在する場合は、D3D11_RESOURCE_MISC_SHARED、D3D11_RESOURCE_MISC_SHARED_NTHANDLE、D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE。
- D3D11_RESOURCE_MISC_GDI_COMPATIBLE、D3D12 リソースが GDI 互換の場合です。
- D3D11_RESOURCE_MISC_TILED、 CreateReservedResource を使用して D3D12 リソースが作成された場合です。
- D3D11_RESOURCE_MISC_TILE_POOL、D3D12 ヒープが渡された場合は 。
- D3D11_RESOURCE_MISC_RESTRICTED_CONTENT、D3D12 はハードウェア保護のみをサポートしているためです。
- D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVERは 12 に存在せず、リソースの作成後に に追加することはできません。
- D3D11_RESOURCE_MISC_GUARDEDは、内部作成メカニズムによってのみ設定されます。
CPUAccessFlags
CPUAccessFlags は D3D12 リソースから推論されません。 これは、すべてのリソースがD3D11_USAGE_DEFAULTとして扱われるため、 CPUAccessFlags は既定のバッファーまたはテクスチャの マップ を前提とする検証を強制するためです。 ラップされたリソースは Map(DISCARD) をサポートしていません。 ラップされたリソースは Map(NO_OVERWRITE) をサポートしていませんが、基になる D3D12 リソースをマッピングすることで実装できます。 ラップされたリソースに 対して Map 呼び出しを発行すると、DO_NOT_WAIT フラグが使用されていない限り、そのリソースに対して送信されたすべての D3D11 作業と同期されます。
StructureByteStride
バッファーが構造化バッファーを表す場合のバッファー構造内の各要素のサイズ (バイト単位)。
注釈
この構造体は 、CreateWrappedResource と共に使用します。
要件
要件 | 値 |
---|---|
Header | d3d11on12.h |