Share via


階層 2

ストリーミング リソースの階層 2 のサポートで、サイズが 1 つ以上の標準タイル形状であるときのパックされないテクスチャ ミップマップの保証や、詳細レベル (LOD) をクランプするため、およびシェーダーの操作に関する状態を取得するためのシェーダー命令、サンプリングされた値をゼロとして処理する NULL マッピングされたタイルからの読み取りなど、階層 1 に含まれない機能が追加されます。

レベル 2 の一般的なサポート

階層 2 のサポートには次のものが含まれます。

  • 機能レベル 11.1 以上のハードウェア。
  • 前の階層のすべての機能 (階層 1 の特定の制限事項なし) に加えて、次のような項目での追加機能があります。
  • LOD のクランプとマップされた状態のフィードバックのためのシェーダー命令を利用できます。 「HLSL ストリーミング リソースの露出」をご覧ください。

これらに加えて、次のような特定のサポート問題があります。

マップされていないタイル

マップされていないタイルからの読み取りでは、形式の欠落していないすべてのコンポーネントでは 0 を返し、欠落しているコンポーネントには既定値を返します。

マップされていないタイルへの書き込みは、メモリに移動するのは止められますが、最後にはキャッシュに移動する可能性があり、それ以降の同じアドレスへの読み取りは取得されない可能性があります。

テクスチャ フィルタリング

NULL のタイルと NULL でないタイルをまたぐフットプリントを含むテクスチャ フィルタリングでは、NULL タイル上のテクセルの場合に全体的なフィルター処理に 0 が送られます (欠落した形式コンポーネントの既定値と共に)。 一部の初期のハードウェアはこの要件を満たしていないため、いずれかのテクセル (0 以外の重み付き) が NULL タイルにかかる場合、完全なフィルター処理の結果に対して 0 を返します (欠落した形式コンポーネントの既定値と共に)。 その他のハードウェアには、すべての (0 以外の重み付きの) テクセルをフィルター処理に含めるために要件の欠落は許されません。

NULL テクセルにアクセスすると、テクスチャの読み取りが false を返すように、状態のフィードバックに CheckAccessFullyMapped 操作が行われます。 これは、テクスチャへのアクセスの結果で書き込みがシェーダーでどのようにマスクされるかや、テクスチャ形式に含まれるコンポーネントの数には関係なく行われます (これらの組み合わせによって、テクスチャへのアクセスが必要ないことがわかる場合があります)。

配置の制約

標準のタイル形状の場合の配置の制約: すべての次元で 1 つ以上の標準のタイルを塗りつぶすミップマップは、標準のタイルを使用することが保証され、残りは 1 つのユニットとして N 個のタイルにパックされたと見なされます (N はアプリケーションに報告される)。 アプリケーションは、N 個のタイルをタイル プール内の分離された任意の場所にマッピングすることができますが、パックされたタイルのすべてをマッピングするか、すべてをマッピングしないかのいずれかにする必要があります。 ミップ パッキングは、配列スライスごとにパックされたタイルの一意のセットです。

最小/最大除去フィルタリング

最小/最大除去フィルタリングはサポートされます。 「ストリーミング リソース テクスチャ サンプリング機能」をご覧ください。

制限事項

いずれかの次元で標準のタイル サイズより小さいミップマップが含まれるストリーミング リソースは、1 より大きい配列サイズを持つことはできません。

重複するマッピングがあるときにタイルにアクセスする方法に関する制限は引き続き適用されます。 「重複するマッピングを含むタイルのアクセス制限」をご覧ください。

ストリーミング リソース機能の階層