Module: Mesa Branch: master Commit: 17bb96b03d340c0aee8e1a332fdcd695e9179486 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17bb96b03d340c0aee8e1a332fdcd695e9179486
Author: Vadim Girlin <vadimgir...@gmail.com> Date: Sun Aug 11 02:52:34 2013 +0400 r600g/sb: use MULADD workaround on R7xx for MULADD_IEEE Looks like the same issue that was seen with MULADD in trans slot on R7xx also affects MULADD_IEEE (maybe all OP3 instructions and MULADD is just a most frequently used?). So the workaround is to not allow affected instructions to be placed into the trans slot. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=67927 Signed-off-by: Vadim Girlin <vadimgir...@gmail.com> Cc: "9.2" <mesa-sta...@lists.freedesktop.org> --- src/gallium/drivers/r600/sb/sb_sched.cpp | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp index f0e41f5..2792315 100644 --- a/src/gallium/drivers/r600/sb/sb_sched.cpp +++ b/src/gallium/drivers/r600/sb/sb_sched.cpp @@ -1490,7 +1490,8 @@ unsigned post_scheduler::try_add_instruction(node *n) { // FIXME workaround for some problems with MULADD in trans slot on r700, // (is it really needed on r600?) - if (a->bc.op == ALU_OP3_MULADD && !ctx.is_egcm()) { + if ((a->bc.op == ALU_OP3_MULADD || a->bc.op == ALU_OP3_MULADD_IEEE) && + !ctx.is_egcm()) { allowed_slots &= 0x0F; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit