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.
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 |