次の方法で共有


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

こちらもご覧ください

リソース列挙