On Friday, April 29, 2016 1:29:14 PM PDT Samuel Iglesias Gonsálvez wrote: > From: Connor Abbott <[email protected]> > > --- > src/mesa/drivers/dri/i965/brw_shader.cpp | 28 ++++++++++++++++++++++++---- > 1 file changed, 24 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/ dri/i965/brw_shader.cpp > index e5c43d2..d40937b 100644 > --- a/src/mesa/drivers/dri/i965/brw_shader.cpp > +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp > @@ -664,7 +664,17 @@ backend_reg::is_zero() const > if (file != IMM) > return false; > > - return d == 0; > + switch (type) { > + case BRW_REGISTER_TYPE_F: > + return f == 0;
One thing I noticed here is that this will make it return true for -0.0f,
whereas it wouldn't before. I think that's actually an improvement on
its own right :)
> + case BRW_REGISTER_TYPE_DF:
> + return df == 0;
> + case BRW_REGISTER_TYPE_D:
> + case BRW_REGISTER_TYPE_UD:
> + return d == 0;
> + default:
> + return false;
> + }
> }
>
> bool
> @@ -673,9 +683,17 @@ backend_reg::is_one() const
> if (file != IMM)
> return false;
>
> - return type == BRW_REGISTER_TYPE_F
> - ? f == 1.0
> - : d == 1;
> + switch (type) {
> + case BRW_REGISTER_TYPE_F:
> + return f == 1.0f;
> + case BRW_REGISTER_TYPE_DF:
> + return df == 1.0;
> + case BRW_REGISTER_TYPE_D:
> + case BRW_REGISTER_TYPE_UD:
> + return d == 1;
> + default:
> + return false;
> + }
> }
>
> bool
> @@ -687,6 +705,8 @@ backend_reg::is_negative_one() const
> switch (type) {
> case BRW_REGISTER_TYPE_F:
> return f == -1.0;
> + case BRW_REGISTER_TYPE_DF:
> + return df == -1.0;
> case BRW_REGISTER_TYPE_D:
> return d == -1;
> default:
>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
