D3D12_TILED_RESOURCES_TIER列挙 (d3d12.h)

タイルリソースがサポートされているレベルを識別します。

構文

typedef enum D3D12_TILED_RESOURCES_TIER {
  D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
  D3D12_TILED_RESOURCES_TIER_1 = 1,
  D3D12_TILED_RESOURCES_TIER_2 = 2,
  D3D12_TILED_RESOURCES_TIER_3 = 3,
  D3D12_TILED_RESOURCES_TIER_4 = 4
} ;

定数

 
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED
値: 0
D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE レイアウトでテクスチャを作成できないことを示します。



ID3D12Device::CreateReservedResource はバッファーに対しても使用できません。
D3D12_TILED_RESOURCES_TIER_1
値: 1
D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE レイアウトで 2D テクスチャを作成できることを示します。
特定のリソースの形式とプロパティには制限があります。
詳細については、「 D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE」を参照してください。



ID3D12Device::CreateReservedResource を使用できます。


GPU の読み取りまたは NULL マッピングへの書き込みは未定義です。
アプリケーションでは、同じページを NULL マッピングが使用されるすべての場所に繰り返しマッピングすることで、この制限を回避することをお勧めします。


テクスチャ ミップマップ レベルのサイズが、その形式の標準タイル図形の整数倍数である場合、非パックであることが保証されます。
D3D12_TILED_RESOURCES_TIER_2
値: 2
次の追加サポートを含め、Tier_1機能のスーパーセットがサポートされていることを示します。



  • テクスチャ ミップマップ レベルのサイズがその形式に対して少なくとも 1 つの標準タイル 図形である場合、ミップマップ レベルはパックされていないことが保証されます。
    詳細については、「 D3D12_PACKED_MIP_INFO」を参照してください。

  • シェーダー命令は、詳細レベル (LOD) をクランプしたり、シェーダー操作に関する状態を取得したりするために使用できます。
    これらのシェーダー命令の 1 つについては、「Sample(S,float,int,float,uint)」を参照してください。
    Sample(S,float,int,float,uint).

  • NULL マップタイルからの読み取りでは、サンプリングされた値は 0 として扱われます。
    NULL マップタイルへの書き込みは破棄されます。


機能レベル 12_0 をサポートするアダプターはすべて、TIER_2以上をサポートします。
D3D12_TILED_RESOURCES_TIER_3
値: 3
階層 2 のスーパーセットがサポートされ、さらに 3D テクスチャ (ボリューム タイル リソース) がサポートされていることを示します。
D3D12_TILED_RESOURCES_TIER_4
値: 4

解説

この列挙型は、 D3D12_FEATURE_DATA_D3D12_OPTIONS 構造体によって使用されます。

タイル リソース機能には、3 つの個別の機能がバンドルされています。

  • 近くのテクセル アドレスに近いデータ座標が含まれるタイルベースのテクスチャ レイアウト オプション。 テクセルのタイルには、リソースの各カーディナル ディメンションでほぼ同じ量のテクセルが含まれています。 このレイアウトは D3D12 で D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLEで表されます。
  • 各ページが最初に NULL マップされるリソースの仮想アドレス空間の領域を予約します。 D3D12 では、この操作は ID3D12Device::CreateReservedResource 内にカプセル化され、D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE レイアウトを持つテクスチャでのみ機能します。
  • ページ マッピングを変更し、タイルの細分性に関するテクスチャ データを操作する機能。 D3D12 では、これらの操作は ID3D12CommandQueue::UpdateTileMappingsID3D12CommandQueue::CopyTileMappingsおよび ID3D12GraphicsCommandList::CopyTiles です。
D3D11 に対する 3 つの重要な変更は次のとおりです。
  • タイル プールはヒープに置き換えられます。 ヒープは、D3D11 タイル プールよりも機能のスーパーセットを提供します。
  • 予約済みリソースは、複数のヒープのページに同時にマップできます。 NULL 以外のすべてのマップされたページが同じヒープから取得される必要がある D3D11 制限は存在しません。
  • アプリケーションでは、特定の使用シナリオに対して litmus テストを有効にする GPU 仮想アドレス機能に注意する必要があります。 「D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT」を参照してください。

要件

   
Header d3d12.h

関連項目

コア列挙