diff options
author | Marek Olšák <maraeo@gmail.com> | 2010-06-05 04:58:40 +0200 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-06-05 07:03:15 +0200 |
commit | 722db9fa77de16b92adf19fda00c9671d896749e (patch) | |
tree | f0ed82e9bace739d475fd4c246d9fbac1d728979 /src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c | |
parent | df36bc8dad477bcfb8012962907562489697a09c (diff) |
r300/compiler: implement SNE unwound for r3xx VS, natively for r5xx VS
Diffstat (limited to 'src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c')
-rw-r--r-- | src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c b/src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c index 755161cdc76..dd307856a77 100644 --- a/src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c +++ b/src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c @@ -353,7 +353,9 @@ static void translate_vertex_program(struct r300_vertex_program_compiler * compi return; } - assert(compiler->Base.is_r500 || vpi->Opcode != RC_OPCODE_SEQ); + assert(compiler->Base.is_r500 || + (vpi->Opcode != RC_OPCODE_SEQ && + vpi->Opcode != RC_OPCODE_SNE)); switch (vpi->Opcode) { case RC_OPCODE_ADD: ei_vector2(compiler->code, VE_ADD, vpi, inst); break; @@ -377,6 +379,7 @@ static void translate_vertex_program(struct r300_vertex_program_compiler * compi case RC_OPCODE_SEQ: ei_vector2(compiler->code, VE_SET_EQUAL, vpi, inst); break; case RC_OPCODE_SGE: ei_vector2(compiler->code, VE_SET_GREATER_THAN_EQUAL, vpi, inst); break; case RC_OPCODE_SLT: ei_vector2(compiler->code, VE_SET_LESS_THAN, vpi, inst); break; + case RC_OPCODE_SNE: ei_vector2(compiler->code, VE_SET_NOT_EQUAL, vpi, inst); break; default: rc_error(&compiler->Base, "Unknown opcode %s\n", rc_get_opcode_info(vpi->Opcode)->Name); return; |