ld_raw (sm5 - asm)
Lettura casuale di componenti da 1 a 4 32 bit da un buffer non elaborato.
ld_raw dest[.mask], srcByteOffset[.select_component], src0[.swizzle] |
---|
Elemento | Descrizione |
---|---|
Dest |
[in] Indirizzo del risultato dell'operazione. |
srcByteOffset |
[in] Specifica l'offset da cui leggere. |
src0 |
[in] Componente da leggere. |
Commenti
src0 deve essere:
- Qualsiasi fase shader: SRV (t#)ld st
- Compute shader o pixel shader: UAV (u#)
- Compute shader: memoria condivisa del gruppo di thread (g#)
srcByteOffset specifica il valore di base a 32 bit in memoria per una finestra di 4 valori sequenziali a 32 bit in cui i dati possono essere letti, a seconda dello swizzle e della maschera su altri parametri.
I dati letti dal buffer non elaborato sono equivalenti allo pseudocode seguente: dove è presente l'offset, l'indirizzo, il puntatore al contenuto del buffer, l'stride dell'origine e i dati archiviati in modo lineare.
BYTE *BufferContents; // from src0
UINT srcByteOffset; // from srcByteOffset
BYTE *ReadLocation; // value to calculate
ReadLocation = BufferContents
+ srcByteOffset;
UINT32 Temp[4]; // used to make code shorter
// apply the source resource swizzle on source data
Temp = read_and_swizzle(ReadLocation, srcSwizzle);
// write the components to the output based on mask
ApplyWriteMask(dstRegister, dstWriteMask, Temp);
Gli indirizzi non associati in u#/t# di qualsiasi componente a 32 bit specificato restituisce 0 per tale componente.
Gli indirizzi non associati su g# (i limiti di quel determinato g#, anziché tutti i valori di memoria condivisa) per qualsiasi componente a 32 bit specificato restituisce un risultato non definito.
cs_4_0 e cs_4_1 supportano questa istruzione per UAV e SRV.
Questa istruzione si applica alle fasi dello shader seguenti:
Vertice | Scafo | Dominio | Geometria | Pixel | Calcolo |
---|---|---|---|---|---|
X | X | X | X | X | X |
Poiché le UAV sono disponibili in tutte le fasi dello shader per Direct3D 11.1, questa istruzione si applica a tutte le fasi dello shader per gli UAV per il runtime Direct3D 11.1, disponibile a partire da Windows 8.
Vertice | Scafo | Dominio | Geometria | Pixel | Calcolo |
---|---|---|---|---|---|
X | X | X | X | X | X |
Modello di shader minimo
Questa istruzione è supportata nei modelli shader seguenti:
Modello di shader | Supportato |
---|---|
Modello shader 5 | sì |
Modello shader 4.1 | no |
Modello shader 4 | no |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |
cs_4_0 e cs_4_1 supportano questa istruzione per UAV e SRV.