On 09/15/2011 09:19 AM, Paul Berry wrote: > When copy propagating a value into an instruction that negates its > argument, we need to invert the sense of the value's "negate" flag, so > that -(+x) becomes -x and -(-x) becomes +x. > > Previously, we were always setting the value's "negate" flag to true > in this circumstance, so that both -(+x) and -(-x) turned into -x. > > Fixes Piglit test vs-double-negative.shader_test. > --- > .../drivers/dri/i965/brw_vec4_copy_propagation.cpp | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp > b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp > index c46735a..e0b2d2a 100644 > --- a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp > +++ b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp > @@ -196,7 +196,7 @@ try_copy_propagation(struct intel_context *intel, > value.abs = true; > } > if (inst->src[arg].negate) > - value.negate = true; > + value.negate = !value.negate; > > /* FINISHME: We can't copy-propagate things that aren't normal > * vec8s into gen6 math instructions, because of the weird src
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev