Bagikan melalui


perulangan - vs

Mulai perulangan... blok endloop .

Sintaks

loop aL, i #

 

Di mana:

Keterangan

Versi shader vertex 1_1 2_0 2_x 2_sw 3_0 3_sw
loop x x x x x

 

  • Loop Counter Register (aL) menyimpan jumlah perulangan saat ini, dan dapat digunakan untuk alamat relatif ke dalam Constant Integer Register (c#) atau Output Registers (o#) 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 mengurangi nilai i#.y.
  • i#.z menentukan ukuran langkah/langkah. Rentang hukumnya adalah [-128, 127].
  • i#.w tidak digunakan dan harus diatur ke 0.
  • Blok perulangan mungkin bersarang. Lihat Batas Bersarang Kontrol Aliran.
  • Ketika ditumpuk, nilai Loop Counter Register (aL) mengacu pada blok perulangan penutup langsung.
  • Blok perulangan diizinkan untuk sepenuhnya berada di dalam blok if* atau benar-benar mengelilinginya. Tidak ada straddling yang diperbolehkan.

Contoh

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

Instruksi Vertex Shader