D3D11_RESOURCE_MISC_FLAG列挙 (d3d11.h)
リソースのオプションを識別します。
構文
typedef enum D3D11_RESOURCE_MISC_FLAG {
D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1L,
D3D11_RESOURCE_MISC_SHARED = 0x2L,
D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4L,
D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10L,
D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20L,
D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40L,
D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80L,
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100L,
D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200L,
D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800L,
D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000L,
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000L,
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000L,
D3D11_RESOURCE_MISC_GUARDED = 0x8000L,
D3D11_RESOURCE_MISC_TILE_POOL = 0x20000L,
D3D11_RESOURCE_MISC_TILED = 0x40000L,
D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000L,
D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE,
D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER
} ;
定数
D3D11_RESOURCE_MISC_GENERATE_MIPS 値: 0x1L テクスチャ リソースで ID3D11DeviceContext::GenerateMips を使用して MIP マップの生成を有効にします。 リソースは、リソースがレンダー ターゲットとシェーダー リソースであることを指定する バインド フラグ を使用して作成する必要があります。 |
D3D11_RESOURCE_MISC_SHARED 値: 0x2L 2 つ以上の Direct3D デバイス間でのリソース データ共有を有効にします。 共有できるリソースは、2D 非 mipmapped テクスチャのみです。 D3D11_RESOURCE_MISC_SHARED と D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX は相互に排他的です。 WARP および REF デバイスは、共有リソースをサポートしていません。 WARP または REF デバイスでこのフラグを持つリソースを作成しようとすると、create メソッドはE_OUTOFMEMORYエラー コードを返します。
メモWindows 8以降、WARP デバイスは共有リソースを完全にサポートします。
メモWindows 8以降では、代わりに D3D11_RESOURCE_MISC_SHARED_NTHANDLE フラグと D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX フラグの組み合わせを使用して、2 つ以上の Direct3D デバイス間でリソース データ共有を有効にすることをお勧めします。 |
D3D11_RESOURCE_MISC_TEXTURECUBE 値: 0x4L リソースを、6 つのテクスチャを含む Texture2DArray から作成されたキューブ テクスチャに設定します。 |
D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS 値: 0x10L GPU によって生成されたコンテンツのインスタンス化を有効にします。 |
D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS 値: 0x20L リソースをバイト アドレス バッファーとして有効にします。 |
D3D11_RESOURCE_MISC_BUFFER_STRUCTURED 値: 0x40L リソースを構造化バッファーとして有効にします。 |
D3D11_RESOURCE_MISC_RESOURCE_CLAMP 値: 0x80L ID3D11DeviceContext::SetResourceMinLOD で使用する MIP マップ クランプを使用するリソースを有効にします。 |
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX 値: 0x100L IDXGIKeyedMutex::AcquireSync と を使用してリソースを同期できるようにします。 IDXGIKeyedMutex::ReleaseSync Api。 D3D11_RESOURCE_MISC_FLAG パラメーターを 受け取る次の Direct3D 11 リソース作成 API は、新しいフラグをサポートするように拡張されています。
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX フラグが設定されたこれらのメソッドのいずれかを呼び出すと、返されるインターフェイスは IDXGIKeyedMutex インターフェイスをサポートします。 IUnknown::QueryInterface を使用して、リソースから IDXGIKeyedMutex インターフェイスへのポインターを取得できます。 IDXGIKeyedMutex インターフェイスは、IDXGIKeyedMutex::AcquireSync API と IDXGIKeyedMutex::ReleaseSync API を実装して、サーフェスへのアクセスを同期します。 サーフェスを作成するデバイスと、 OpenSharedResource を使用してサーフェスを開くその他のデバイスは、サーフェスにレンダリング コマンドを発行する前 に IDXGIKeyedMutex::AcquireSync を呼び出す必要があります。 これらのデバイスのレンダリングが完了したら、 IDXGIKeyedMutex::ReleaseSync を呼び出す必要があります。 D3D11_RESOURCE_MISC_SHARED と D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX は相互に排他的です。 WARP および REF デバイスは、共有リソースをサポートしていません。 WARP または REF デバイスでこのフラグを持つリソースを作成しようとすると、create メソッドはE_OUTOFMEMORYエラー コードを返します。
メモWindows 8以降、WARP デバイスは共有リソースを完全にサポートします。 |
D3D11_RESOURCE_MISC_GDI_COMPATIBLE 値: 0x200L GDI と互換性のあるリソースを有効にします。 GDI で使用するサーフェスに D3D11_RESOURCE_MISC_GDI_COMPATIBLE フラグを設定する必要があります。 D3D11_RESOURCE_MISC_GDI_COMPATIBLE フラグを設定すると、IDXGISurface1::GetDC を介してサーフェス上で GDI レンダリングを行うことができます。 テクスチャを作成するとき、またはスワップ チェーンでそのテクスチャを使用するときに、D3D11_RESOURCE_MISC_GDI_COMPATIBLEを使用するための次のプログラミングヒントを検討してください。
|
D3D11_RESOURCE_MISC_SHARED_NTHANDLE 値: 0x800L 共有リソースを作成するときに NT HANDLE 値を使用できるようにするには、このフラグを設定します。 このフラグを有効にすると、既存の HANDLE 値の使用は非推奨になります。 値は、共有リソースに NT HANDLE 値を使用するようにランタイムに指示する新しい共有リソースの種類を指定します。 その後、ランタイムは、共有リソースが指定された 機能レベルですべてのハードウェアで動作することを確認する必要があります。 このフラグを設定しないと、ランタイムは共有リソース パラメーター (形式、フラグ、使用状況など) を厳密に検証しません。 ランタイムが共有リソース パラメーターを検証しない場合、Direct3D API の多くの動作は未定義であり、ドライバーによって異なる場合があります。 Direct3D 11 以前: この値は、Direct3D 11.1 まではサポートされません。 |
D3D11_RESOURCE_MISC_RESTRICTED_CONTENT 値: 0x1000L このフラグを設定して、リソースに保護されたコンテンツが含まれている可能性があることを示します。そのため、オペレーティング システムでは、ドライバーとハードウェアがコンテンツ保護をサポートしている場合にのみ、リソースを使用する必要があります。 ドライバーとハードウェアがコンテンツ保護をサポートしていない場合、このフラグを使用してリソースを作成しようとすると、リソースの作成は失敗します。 Direct3D 11: この値は、Direct3D 11.1 まではサポートされません。 |
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE 値: 0x2000L オペレーティング システムが共有サーフェスへのアクセスを制限することを示すには、このフラグを設定します。 このフラグは、共有サーフェスを作成する場合にのみ、D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER フラグと共に使用できます。 共有リソースを作成するプロセスでは、常に共有リソースを開くことができます。 Direct3D 11: この値は、Direct3D 11.1 まではサポートされません。 |
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER 値: 0x4000L ドライバーが共有サーフェイスへのアクセスを制限することを示すには、このフラグを設定します。 このフラグは、共有サーフェスを作成する場合にのみ、D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE フラグと組み合わせて使用できます。 共有リソースを作成するプロセスでは、常に共有リソースを開くことができます。 Direct3D 11: この値は、Direct3D 11.1 まではサポートされません。 |
D3D11_RESOURCE_MISC_GUARDED 値: 0x8000L このフラグを設定して、リソースが保護されていることを示します。 このようなリソースは、IDCompositionSurface::BeginDraw (DirectComposition) および ISurfaceImageSourceNative::BeginDraw (Windows ランタイム) API によって返されます。 これらの API では、更新するサーフェスに関心領域 (ROI) を指定します。 このサーフェスは、複数のレンダー ターゲット (MRT) と互換性がありません。 保護されたリソースは、上記のいずれかの API に関連するリージョンへのすべての書き込みを自動的に制限します。 さらに、リソースは次の制限を使用して ROI へのアクセスを強制します。
Direct3D 11: この値は、Direct3D 11.1 まではサポートされません。 |
D3D11_RESOURCE_MISC_TILE_POOL 値: 0x20000L このフラグを設定して、リソースがタイル プールであることを示します。 Direct3D 11: この値は、Direct3D 11.2 までサポートされていません。 |
D3D11_RESOURCE_MISC_TILED 値: 0x40000L このフラグを設定して、リソースがタイルリソースであることを示します。 Direct3D 11: この値は、Direct3D 11.2 までサポートされていません。 |
D3D11_RESOURCE_MISC_HW_PROTECTED 値: 0x80000L ハードウェアによって保護されるようにリソースを作成する必要があることを示すには、このフラグを設定します。 ハードウェア コンテンツ保護がサポートされていない場合、リソースの作成は失敗します。 このフラグには、次の制限があります。
注 このフラグを使用してテクスチャを作成しても、基になる割り当てに対してハードウェア保護が自動的に有効になることは保証されません。 一部の実装では、保護が保証される前に、最初に DRM コンポーネントを初期化する必要があります。 メモこの列挙値は、Windows 10 以降でサポートされています。 |
D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE リソースが 表示可能なサーフェス フィーチャーを操作できるようにします。 D3D11_RESOURCE_MISC_SHARED_DISPLAYABLEは、D3D11_RESOURCE_MISC_SHAREDとD3D11_RESOURCE_MISC_SHARED_NTHANDLEの両方と組み合わせて使用する必要があります。 |
D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER TBD |
注釈
この列挙体は、 D3D11_BUFFER_DESC、 D3D11_TEXTURE1D_DESC、 D3D11_TEXTURE2D_DESC、D3D11_TEXTURE3D_DESCで使用 されます。
これらのフラグは、ビットごとの OR で組み合わせることができます。
D3D11_RESOURCE_MISC_FLAGは、 D3D11_CPU_ACCESSフラグを 使用してリソースを作成するときに使用できません。
要件
要件 | 値 |
---|---|
Header | d3d11.h |