ld_raw (sm5 - asm)
Baca akses acak komponen 1-4 32bit dari buffer mentah.
ld_raw dest[.mask], srcByteOffset[.select_component], src0[.swizzle] |
---|
Item | Deskripsi |
---|---|
Dest |
[in] Alamat hasil operasi. |
srcByteOffset |
[in] Menentukan offset untuk dibaca. |
src0 |
[in] Komponen yang akan dibaca. |
Keterangan
src0 harus:
- Setiap tahap shader: SRV (t#)ld st
- Shader komputasi atau shader piksel: UAV (u#)
- Shader komputasi: memori bersama grup utas (g#)
srcByteOffset menentukan nilai dasar 32-bit dalam memori untuk jendela 4 nilai 32-bit berurutan tempat data dapat dibaca, tergantung pada moncong dan masker pada parameter lain.
Data yang dibaca dari buffer mentah setara dengan pseudocode berikut: di mana kita memiliki offset, alamat, pointer ke konten buffer, langkah sumber, dan data yang disimpan secara linear.
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);
Di luar batas alamat pada u#/t# dari komponen 32-bit yang diberikan mengembalikan 0 untuk komponen tersebut.
Di luar batas alamat pada g# (batas g#tertentu, dibandingkan dengan semua memori bersama) untuk komponen 32-bit tertentu mengembalikan hasil yang tidak terdefinisi.
cs_4_0 dan cs_4_1 mendukung instruksi ini untuk UAV dan SRV.
Instruksi ini berlaku untuk tahap shader berikut:
Puncak | Hull | Domain | Geometri | Pixel | Compute |
---|---|---|---|---|---|
X | X | X | X | X | X |
Karena UAV tersedia di semua tahap shader untuk Direct3D 11.1, instruksi ini berlaku untuk semua tahap shader untuk UAV untuk runtime Direct3D 11.1, yang tersedia dimulai dengan Windows 8.
Puncak | Hull | Domain | Geometri | Pixel | Compute |
---|---|---|---|---|---|
X | X | X | X | X | X |
Minimum Shader Model
Instruksi ini didukung dalam model shader berikut:
Shader Model | Didukung |
---|---|
Model Shader 5 | ya |
Model Shader 4.1 | tidak |
Model Shader 4 | tidak |
Shader Model 3 (DirectX HLSL) | tidak |
Shader Model 2 (DirectX HLSL) | tidak |
Shader Model 1 (DirectX HLSL) | tidak |
cs_4_0 dan cs_4_1 mendukung instruksi ini untuk UAV dan SRV.