summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx/nvfx_vertprog.c
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-02-25 02:52:43 +0100
committerLuca Barbieri <luca@luca-barbieri.com>2010-04-12 23:43:40 +0200
commit70fe9fd0075faf1fe731401fba9f38e17d7d062b (patch)
tree81b5dee1f51f0e03bf6395995e070f328c3ab3a0 /src/gallium/drivers/nvfx/nvfx_vertprog.c
parentb385a3145247cf615000eb40a39c7206abac6b63 (diff)
nvfx: add LRP in vertprog
glsl generates these.
Diffstat (limited to 'src/gallium/drivers/nvfx/nvfx_vertprog.c')
-rw-r--r--src/gallium/drivers/nvfx/nvfx_vertprog.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_vertprog.c b/src/gallium/drivers/nvfx/nvfx_vertprog.c
index 71c76a6842..b405fd9c82 100644
--- a/src/gallium/drivers/nvfx/nvfx_vertprog.c
+++ b/src/gallium/drivers/nvfx/nvfx_vertprog.c
@@ -515,6 +515,11 @@ nvfx_vertprog_parse_instruction(struct nvfx_context* nvfx, struct nvfx_vpc *vpc,
case TGSI_OPCODE_LOG:
arith(vpc, SCA, LOG, dst, mask, none, none, src[0]);
break;
+ case TGSI_OPCODE_LRP:
+ tmp = temp(vpc);
+ arith(vpc, VEC, MAD, tmp, mask, neg(src[0]), src[2], src[2]);
+ arith(vpc, VEC, MAD, dst, mask, src[0], src[1], tmp);
+ break;
case TGSI_OPCODE_MAD:
arith(vpc, VEC, MAD, dst, mask, src[0], src[1], src[2]);
break;