From: Christoph Bumiller Date: Thu, 4 Jul 2013 12:19:18 +0000 (+0200) Subject: nv50/ir/tgsi: handle TGSI_OPCODE_ARR X-Git-Tag: upstream/17.1.0~22286 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f3b4b263c2f08f641c42a02bf3c57c3da2fc0414;p=platform%2Fupstream%2Fmesa.git nv50/ir/tgsi: handle TGSI_OPCODE_ARR This instruction is used by st/nine. Reviewed-by: Ilia Mirkin Cc: "10.4" --- 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 39a70aa..9ee927f 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -2337,9 +2337,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: