D3D12_PACKED_MIP_INFO 構造体 (d3d12.h)

ミップマップを使用したタイル リソースのタイル構造について説明します。

構文

typedef struct D3D12_PACKED_MIP_INFO {
  UINT8 NumStandardMips;
  UINT8 NumPackedMips;
  UINT  NumTilesForPackedMips;
  UINT  StartTileIndexInOverallResource;
} D3D12_PACKED_MIP_INFO;

メンバー

NumStandardMips

タイルリソース内の標準ミップマップの数。

NumPackedMips

タイル リソース内のパックされたミップマップの数。

この数値は、最も詳細でないミップマップ (タイルの共有または標準以外のタイル レイアウトの使用) から始まります。 このようなパッキングがリソースに存在しない場合、この数値は 0 です。 配列サーフェスの場合、この値は、各配列スライスが同じパッキングを繰り返す特定の配列スライスに対してパックされるミップマップの数です。

タイル化されたリソース ハードウェアTier_2、すべてのディメンションで少なくとも 1 つの標準の形のタイルを埋めるミップマップは、パックされたミップマップのセットに含めることはできません。 Tier_1ハードウェアでは、すべてのディメンションの 1 つの標準の形のタイルの整数倍数であるミップマップを、パックされたミップマップのセットに含めることはできません。 標準タイル図形よりも少なくとも 1 つのディメンションが小さいミップマップは、パックされる場合とない場合があります。 特定のミップマップをパックする必要がある場合、特定の配列スライスのより粗いミップマップもすべてパックされていると見なされます。

NumTilesForPackedMips

タイル リソース内のパックされたミップマップのタイルの数。

パッキングがない場合、この値は意味がなく、0 に設定されます。 それ以外の場合は、パックされたミップマップのセットを表すために必要なタイルの数に設定されます。 パックされたミップマップ内のピクセル レイアウトは、ハードウェア固有です。 アプリでパックされたミップマップ内のタイルセットの部分的なマッピングのみが定義されている場合、読み取りと書き込みの動作はベンダー固有であり、未定義です。 配列の場合、この値は、各配列スライスのサブリソース内のパックされたミップマップの数のみです。

StartTileIndexInOverallResource

タイルの全体的な範囲におけるリソースの最初のパック されたタイルのオフセット。 NumPackedMips が 0 の場合、この値は意味がなく、0 になります。 それ以外の場合は、リソースのタイルの全体的な範囲のリソースの最初のパック されたタイルのオフセットです。 StartTileIndexInOverallResource の値が 0 の場合は、リソース全体がパックされていることを意味します。 配列サーフェスの場合、これは最初の配列スライスのパックミップマップを含むタイルのオフセットです。 配列サーフェス内の各配列スライスのパックミップマップは、各配列スライスのタイルの先頭からこのオフセットにあります。

メモ 特定の配列スライスに対するタイル全体の数 (パックされているかどうか) は、リソースのタイルの合計数をリソースの配列サイズで割った値であるため、特定の配列スライスのタイルの範囲を簡単に見つけることができます。その中で、 StartTileIndexInOverallResource は、どのタイルがパックされているかを識別します。
 

解説

この構造体は 、GetResourceTiling メソッドによって使用されます。

要件

   
Header d3d12.h

関連項目

CD3DX12_PACKED_MIP_INFO

コア構造