Поделиться через


Перечисление 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-разрядный шаблон чередование определяет преобразование из предварительно свернутого внутристраничного расположения в расположение после поворота.

Стандартные шаблоны swizzle Для демонстрации рассмотрим приведенный выше формат swizzle 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);

Требования

Требование Значение
Заголовок d3d11_3.h

См. также раздел

Перечисления ресурсов