D3D12DDI_BARRIER_LAYOUT列挙 (d3d12umddi.h)
D3D12DDI_BARRIER_LAYOUT値は、テクスチャ バリアに関して D3D12 サブリソースで使用できるレイアウトを表します。 レイアウトはテクスチャ リソースにのみ適用されます。
構文
typedef enum D3D12DDI_BARRIER_LAYOUT {
D3D12DDI_BARRIER_LAYOUT_UNDEFINED,
D3D12DDI_BARRIER_LAYOUT_COMMON,
D3D12DDI_BARRIER_LAYOUT_PRESENT,
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET,
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ,
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST,
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE
} ;
定数
D3D12DDI_BARRIER_LAYOUT_UNDEFINED 前のレイアウトが無関係または未定義のサブリソース レイアウトの変更をサポートします。 通常、これはフル サブリソースまたはフル リソースの Clear、Discard、および Copy コマンドに使用されます。 LayoutBefore と LayoutAfter の両方が D3D12_BARRIER_LAYOUT_UNDEFINED に設定されているレイアウト遷移は、メモリ アクセス専用バリアを示します。 多くの読み取り/書き込み操作 では、D3D12_BARRIER_LAYOUT_COMMONがサポートされています。 特に、[コピー] コマンドは 、D3D12_BARRIER_LAYOUT_COMMON または D3D12_BARRIER_LAYOUT_COPYを使用してテクスチャに書き込むことができます。 メモリ アクセス専用バリアを使用すると、テクスチャ レイアウトを変更せずに、コピー書き込みをテクスチャにフラッシュできます。 |
D3D12DDI_BARRIER_LAYOUT_COMMON これは、 D3D12_RESOURCE_STATE_COMMONで使用されるレイアウトです。 このレイアウトのサブリソースは、レイアウトの変更を必要とせずに、任意のキューの種類で読み取り可能です。 また、任意のキューの種類のコピー先として書き込み可能です。 スワップ チェーンの表示では、バック バッファーで D3D12_BARRIER_LAYOUT_COMMONが使用されている必要があります。 |
D3D12DDI_BARRIER_LAYOUT_PRESENT D3D12_BARRIER_LAYOUT_COMMONのエイリアス。 |
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ 読み取り専用アクセスのサポートを提供します (たとえば、SHADER_RESOURCE、COPY_SOURCE)。 この値は、複数の同時読み取りアクセスを必要とするテクスチャにのみ使用する必要があります。これは、より具体的な読み取りレイアウトほど最適ではない可能性があるためです。 |
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET D3D12_RESOURCE_STATE_RENDER_TARGETで使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS D3D12_RESOURCE_STATE_UNORDERED_ACCESSで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE D3D12_RESOURCE_STATE_DEPTH_WRITEによって使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ D3D12_RESOURCE_STATE_DEPTH_READで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCEとD3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCEで使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE D3D12_RESOURCE_STATE_COPY_SOURCEで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_COPY_DEST D3D12_RESOURCE_STATE_COPY_DESTで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCEで使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST D3D12DDI_RESOURCE_STATE_RESOLVE_DESTで使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCEで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ D3D12_RESOURCE_STATE_VIDEO_DECODE_READで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITEで使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ D3D12_RESOURCE_STATE_VIDEO_PROCESS_READで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITEで使用されるレイアウト と一致します。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ D3D12_RESOURCE_STATE_VIDEO_ENCODE_READによって使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITEで使用されるレイアウトと一致します。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON 直接キューでのみ一般的な (バリア フリー) の使用をサポートします。 この値は、一般的な D3D12DDI_BARRIER_LAYOUT_COMMONよりも最適です。 直接キューのバリアでのみ使用できます。 これは Present には使用できないことに注意してください。 D3D12_BARRIER_LAYOUT_COMMON ( D3D12_BARRIER_LAYOUT_PRESENT とも呼ばれます) は、引き続きプレゼンテーションに必要なレイアウトです。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ 直接キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_GENERIC_READ と同じです。 直接キューのバリアでのみ使用できます。 さらに、 D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ には、直接キューでの読み取り専用深度、網かけレート ソース、および解決ソース アクセスのサポートが含まれています。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS ダイレクト キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS と同じです。 直接キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE ダイレクト キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_SHADER_RESOURCE と同じです。 直接キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE 直接キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_COPY_SOURCE と同じです。 直接キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST ダイレクト キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_COPY_DEST と同じです。 直接キューのバリアでのみ使用できます。 Direct キューの次のアクセス権を持つリソースに対する一部のレイアウト切り替えで、コストと不要な圧縮解除を防ぐことができます。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON コンピューティング キューでのみ一般的な (バリア フリー) の使用をサポートします。 より一般的な D3D12_BARRIER_LAYOUT_COMMONよりも最適な場合があります。 コンピューティング キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ コンピューティング キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_GENERIC_READ と同じです。 コンピューティング キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS コンピューティング キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS と同じです。 コンピューティング キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE コンピューティング キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_SHADER_RESOURCE と同じです。 コンピューティング キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE コンピューティング キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_COPY_SOURCE と同じです。 コンピューティング キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST コンピューティング キューに固有の最適化を除き、 D3D12_BARRIER_LAYOUT_COPY_DEST と同じです。 コンピューティング キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON ビデオ キューでのみ一般的な (バリア フリー) の使用をサポートします。 より一般的な D3D12_BARRIER_LAYOUT_COMMONよりも最適な場合があります。 ビデオ キューのバリアでのみ使用できます。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE 内部変換されたレガシ リソースの状態をサポートします。 拡張バリア API は、この値にマップされません。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE 内部変換されたレガシ リソースの状態をサポートします。 拡張バリア API は、この値にマップされません。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST 内部変換されたレガシ リソースの状態をサポートします。 拡張バリア API は、この値にマップされません。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE 内部変換されたレガシ リソースの状態をサポートします。 拡張バリア API は、この値にマップされません。 |
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE 内部変換されたレガシ リソースの状態をサポートします。 拡張バリア API は、この値にマップされません。 |
注釈
バッファー リソースには、アクセスの種類に関係なく、線形レイアウトのみが含まれます。
リソース レイアウトは、レイアウト切り替えを実行するキューの種類と互換性がある必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 11 (WDDM 3.0) |
Header | d3d12umddi.h |