enumerazione D3D11_TEXTURE_LAYOUT (d3d11_3.h)
Specifica le opzioni di layout delle trame.
Sintassi
typedef enum D3D11_TEXTURE_LAYOUT {
D3D11_TEXTURE_LAYOUT_UNDEFINED = 0,
D3D11_TEXTURE_LAYOUT_ROW_MAJOR = 1,
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE = 2
} ;
Costanti
D3D11_TEXTURE_LAYOUT_UNDEFINED Valore: 0 Il layout della trama non è definito e viene selezionato dal driver. |
D3D11_TEXTURE_LAYOUT_ROW_MAJOR Valore: 1 I dati per la trama vengono archiviati in ordine principale di riga (talvolta definito lineare passo). |
D3D11_TEXTURE_LAYOUT_64K_STANDARD_SWIZZLE Valore: 2 Una trama predefinita usa il modello swizzle standardizzato. |
Commenti
Questa enumerazione controlla il modello swizzle delle trame predefinite e abilita il supporto delle mappe nelle trame predefinite. I chiamanti devono eseguire query D3D11_FEATURE_DATA_D3D11_OPTIONS2 per assicurarsi che ogni opzione sia supportata.
I formati swizzle standard si applicano all'interno di ogni blocco di dimensioni di pagina e le pagine sono disposte in ordine lineare rispetto all'altro. Un modello interleave a 16 bit definisce la conversione dalla posizione pre-swizzled all'interno della pagina alla posizione post-swizzled.
Per dimostrare, considerare il formato swizzle 32bpp precedente. Questo è rappresentato dalle maschere interleave seguenti, dove i bit a sinistra sono più significativi.UINT xBytesMask = 1010 1010 1000 1111
UINT yMask = 0101 0101 0111 0000
Per calcolare l'indirizzo swizzled, è possibile usare il codice seguente (dove è supportata l'istruzione _pdep_u32):
UINT swizzledOffset = resourceBaseOffset +
_pdep_u32(xOffset, xBytesMask) +
_pdep_u32(yOffset, yBytesMask);
Requisiti
Requisito | Valore |
---|---|
Intestazione | d3d11_3.h |