D3D11_TEXTURE_LAYOUT列挙 (d3d11_3.h)
テクスチャ レイアウト オプションを指定します。
構文
typedef enum D3D11_TEXTURE_LAYOUT {
D3D11_TEXTURE_LAYOUT_UNDEFINED = 0,
D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 1,
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 2
} ;
定数
D3D11_TEXTURE_LAYOUT_UNDEFINED 値: 0 テクスチャ レイアウトは未定義であり、ドライバーによって選択されます。 |
D3D11_TEXTURE_LAYOUT_ROW_MAJOR 値: 1 テクスチャのデータは、行のメジャー (ピッチリニアとも呼ばれる) の順序で格納されます。 |
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE 値: 2 既定のテクスチャでは、標準化されたスワイズル パターンが使用されます。 |
注釈
この列挙体は、既定のテクスチャのスワイズル パターンを制御し、既定のテクスチャでマップのサポートを有効にします。 呼び出し元は、各オプションがサポートされていることを確認するために 、D3D11_FEATURE_DATA_D3D11_OPTIONS2 に対してクエリを実行する必要があります。
標準のスワイズル形式は各ページ サイズのチャンク内に適用され、ページは互いに対して直線的な順序でレイアウトされます。 16 ビット インターリーブ パターンは、事前スウィズルされたページ内の場所からスウィズル後の場所への変換を定義します。
デモを行うために、上記の 32bpp スワイズル形式を検討してください。 これは、次のインターリーブ マスクで表されます。左側のビットが最も重要です。UINT xBytesMask = 1010 1010 1000 1111
UINT yMask = 0101 0101 0111 0000
swizzled アドレスを計算するには、次のコードを使用できます (ここで、_pdep_u32命令がサポートされています)。
UINT swizzledOffset = resourceBaseOffset +
_pdep_u32(xOffset, xBytesMask) +
_pdep_u32(yOffset, yBytesMask);
要件
要件 | 値 |
---|---|
Header | d3d11_3.h |