Compartilhar via


enumeração D3D11_TEXTURE_LAYOUT (d3d11_3.h)

Especifica as opções de layout de textura.

Syntax

typedef enum D3D11_TEXTURE_LAYOUT {
  D3D11_TEXTURE_LAYOUT_UNDEFINED = 0,
  D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 1,
  D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 2
} ;

Constantes

 
D3D11_TEXTURE_LAYOUT_UNDEFINED
Valor: 0
O layout de textura é indefinido e é selecionado pelo driver.
D3D11_TEXTURE_LAYOUT_ROW_MAJOR
Valor: 1
Os dados da textura são armazenados na ordem principal da linha (às vezes chamada de linear de tom).
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE
Valor: 2
Uma textura padrão usa o padrão de swizzle padronizado.

Comentários

Essa enumeração controla o padrão de swizzle de texturas padrão e habilita o suporte ao mapa em texturas padrão. Os chamadores devem consultar D3D11_FEATURE_DATA_D3D11_OPTIONS2 para garantir que cada opção tenha suporte.

Os formatos de swizzle padrão se aplicam em cada parte do tamanho de página e as páginas são dispostas em ordem linear em relação umas às outras. Um padrão de intercalação de 16 bits define a conversão do local intra-page pré-girado para o local pós-swizzled.

Padrões de swizzle padrão Para demonstrar, considere o formato swizzle de 32bpp acima. Isso é representado pelas máscaras de intercalação a seguir, em que os bits à esquerda são mais significativos.
UINT xBytesMask = 1010 1010 1000 1111
UINT yMask =      0101 0101 0111 0000

Para calcular o endereço com swizzled, o código a seguir pode ser usado (em que há suporte para a instrução _pdep_u32):

UINT swizzledOffset = resourceBaseOffset +
                      _pdep_u32(xOffset, xBytesMask) + 
                      _pdep_u32(yOffset, yBytesMask);

Requisitos

Requisito Valor
Cabeçalho d3d11_3.h

Confira também

Enumerações de recursos