Bagikan melalui


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.

Shader Model 5 Assembly (DirectX HLSL)