Condividi tramite


cmp - ps

Scegliere src1 se src0 >= 0. In caso contrario, scegliere src2. Il confronto viene eseguito per canale.

Sintassi

cmp dst, src0, src1, src2

 

dove

  • dst è il registro di destinazione.
  • src0 è un registro di origine.
  • src1 è un registro di origine.
  • src2 è un registro di origine.

Commenti

Versioni di Pixel shader 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
cmp x x x x x x x x

 

Esistono alcune limitazioni aggiuntive per le versioni 1_2 e 1_3:

  • Ogni shader può usare fino a un massimo di tre istruzioni cmp.
  • Il registro di destinazione non può essere uguale a uno dei registri di origine.

In questo esempio viene eseguito un confronto a quattro canali.

ps_1_4
def c0, -0.6, 0.6, 0, 0.6
def c1  0,0,0,0
def c2  1,1,1,1

mov r1, c1
mov r2, c2

cmp r0, c0, r1, r2   // r0 is assigned 1,0,0,0 based on the following:

// r0.x = c2.x because c0.x < 0
// r0.y = c1.y because c0.y >= 0
// r0.z = c1.z because c0.z >= 0
// r0.w = c1.w because c0.w >= 0

Istruzioni sul pixel shader