loop - ps

Memulai perulangan... endloop - blok ps .

Sintaks

loop aL, i #

 

Di mana:

Keterangan

Versi shader piksel 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
loop x x

 

  • Loop Counter Register (aL) menyimpan jumlah perulangan saat ini dan dapat digunakan untuk alamat relatif ke dalam Daftar Warna Input (v#) di dalam blok perulangan.
  • i#.x menentukan jumlah perulangan. Rentang hukumnya adalah [0, 255]. Perhatikan bahwa instruksi ini tidak menaikkan atau mengurangi nilai i#.x.
  • i#.y menentukan nilai awal register Loop Counter Register (aL). Rentang hukumnya adalah [0, 255]. Perhatikan bahwa instruksi ini tidak menaikkan atau menurunkan nilai i#.y.
  • i#.z menentukan ukuran langkah/langkah. Rentang hukumnya adalah [-128, 127].
  • i#.w tidak digunakan oleh blok perulangan dan harus 0.
  • Blok perulangan dapat disarangkan. Lihat Batasan Kontrol Alur.
  • Ketika ditumpuk, nilai Loop Counter Register (aL) mengacu pada blok perulangan penutup langsung.
  • Blok perulangan diizinkan untuk sepenuhnya berada di dalam blok if* atau sepenuhnya mengelilinginya. Tidak ada straddling yang diperbolehkan.

Contoh

loop aL, i3
    add r1, r0, v2[ aL ]
endloop

Instruksi Pixel Shader