0, 0, 0, 8, 8, 4, 4, 4, 8, 4, 4, 8, 8, 8, 8, 8, /* 15 */
8, 8, 8, 4, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, /* 31 */
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, /* 47 */
- 4, 8, 8, 8, 8, 8, 0, 0, 8
+ 4, 8, 8, 8, 8, 8, 0, 0, 8, 8
};
unsigned
}
if (pc->emit[1] == CVT_F32_F32 &&
(nvi->opcode == NV_OP_CEIL || nvi->opcode == NV_OP_FLOOR ||
- nvi->opcode == NV_OP_TRUNC))
+ nvi->opcode == NV_OP_TRUNC || nvi->opcode == NV_OP_ROUND))
pc->emit[1] |= CVT_RI;
switch (nvi->opcode) {
case NV_OP_CEIL: pc->emit[1] |= CVT_CEIL; break;
case NV_OP_FLOOR: pc->emit[1] |= CVT_FLOOR; break;
case NV_OP_TRUNC: pc->emit[1] |= CVT_TRUNC; break;
+ case NV_OP_ROUND: pc->emit[1] |= CVT_RN; break;
case NV_OP_ABS: pc->emit[1] |= CVT_ABS; break;
case NV_OP_SAT: pc->emit[1] |= CVT_SAT; break;
case NV_OP_CEIL:
case NV_OP_FLOOR:
case NV_OP_TRUNC:
+ case NV_OP_ROUND:
emit_cvt(pc, i);
break;
case NV_OP_DFDX:
case TGSI_OPCODE_CEIL: return NV_OP_CEIL;
case TGSI_OPCODE_FLR: return NV_OP_FLOOR;
case TGSI_OPCODE_TRUNC: return NV_OP_TRUNC;
+ case TGSI_OPCODE_ROUND: return NV_OP_ROUND;
case TGSI_OPCODE_COS: return NV_OP_COS;
case TGSI_OPCODE_SIN: return NV_OP_SIN;
case TGSI_OPCODE_DDX: return NV_OP_DFDX;
case TGSI_OPCODE_CEIL:
case TGSI_OPCODE_FLR:
case TGSI_OPCODE_TRUNC:
+ case TGSI_OPCODE_ROUND:
case TGSI_OPCODE_DDX:
case TGSI_OPCODE_DDY:
FOR_EACH_DST0_ENABLED_CHANNEL(c, insn) {