aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_eu_util.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-08-06 14:59:39 -0700
committerEric Anholt <[email protected]>2012-08-08 16:21:30 -0700
commit9b4053cabd8bda180b352d2d2047209f6ca5f6e8 (patch)
tree98e1bc1e07fa9ba203fb52e8cafa5ba0ff3d80a2 /src/mesa/drivers/dri/i965/brw_eu_util.c
parent33dfdc735e052d9c9b33883350e926d40220b6ac (diff)
i965: Drop the confusing saturate argument to math instruction setup.
This was ridiculous. We were ignoring the inst->header.saturate flag in the case of math and only math. On gen4, we would leave inst->header.saturate in place if it happened to be set, which would end up being applied to the implicit mov and thus trash the first argument. On gen6, we would overwrite inst->header.saturate with the saturate flag from the argument, which was not set appropriately in brw_vec4_emit.cpp, and was only not a bug due to our incompetence at coalescing saturate moves. By ripping the argument out and making saturate work just like all the other brw_eu_emit.c code generation, we can avoid both these classes of bugs. Fixes piglit fog-modes, and the new specific fs-saturate-exp2 case. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48628 NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_eu_util.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_eu_util.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_eu_util.c b/src/mesa/drivers/dri/i965/brw_eu_util.c
index 5405cf17a4e..2037634981c 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_util.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_util.c
@@ -42,7 +42,6 @@ void brw_math_invert( struct brw_compile *p,
brw_math( p,
dst,
BRW_MATH_FUNCTION_INV,
- BRW_MATH_SATURATE_NONE,
0,
src,
BRW_MATH_PRECISION_FULL,