diff options
author | Christoph Bumiller <[email protected]> | 2013-07-04 14:19:18 +0200 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-12-03 23:14:34 +0000 |
commit | f30fbbdbdd9c4e57b5ddce3d6726490c901b83fe (patch) | |
tree | cf9a55c0c25fe00079316c161ca901d602498ec0 /src | |
parent | b247956c776c0fb491001d07a6c9a18f1bcd3adb (diff) |
nv50/ir/tgsi: handle TGSI_OPCODE_ARR
This instruction is used by st/nine.
Reviewed-by: Ilia Mirkin <[email protected]>
Cc: "10.4" <[email protected]>
(cherry picked from commit f3b4b263c2f08f641c42a02bf3c57c3da2fc0414)
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index 41b91e890b8..9d1b16aa81f 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -2343,9 +2343,12 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn) mkMov(dst0[c], val0); break; case TGSI_OPCODE_ARL: + case TGSI_OPCODE_ARR: FOR_EACH_DST_ENABLED_CHANNEL(0, c, tgsi) { + const RoundMode rnd = + tgsi.getOpcode() == TGSI_OPCODE_ARR ? ROUND_N : ROUND_M; src0 = fetchSrc(0, c); - mkCvt(OP_CVT, TYPE_S32, dst0[c], TYPE_F32, src0)->rnd = ROUND_M; + mkCvt(OP_CVT, TYPE_S32, dst0[c], TYPE_F32, src0)->rnd = rnd; } break; case TGSI_OPCODE_UARL: |