On Wed, Aug 17, 2016 at 3:03 PM, Kenneth Graunke <kenn...@whitecape.org>
wrote:

> According to Connor, it's safe to assume that the first operand of
> bcsel, as well as the operand of b2f and b2i, must be well formed
> booleans.
>

Connor is *probably* right...  I'm personally still a bit skeptical that
this won't bite us in practice since we have no way to validate it.

Patches 1-3 are definitely

Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>

Go ahead and put my R-B on this patch if you want.  We can revert it if it
causes trouble. :)


> https://lists.freedesktop.org/archives/mesa-dev/2016-August/125658.html
>
> With the previous improvements to a@bool handling, this now has no
> change in shader-db instruction counts on Broadwell.
>
> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
> ---
>  src/compiler/nir/nir_opt_algebraic.py | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/compiler/nir/nir_opt_algebraic.py
> b/src/compiler/nir/nir_opt_algebraic.py
> index 0f0896b..ceb8730 100644
> --- a/src/compiler/nir/nir_opt_algebraic.py
> +++ b/src/compiler/nir/nir_opt_algebraic.py
> @@ -144,7 +144,7 @@ optimizations = [
>     (('fge', ('fneg', ('fabs', a)), 0.0), ('feq', a, 0.0)),
>     (('bcsel', ('flt', b, a), b, a), ('fmin', a, b)),
>     (('bcsel', ('flt', a, b), b, a), ('fmax', a, b)),
> -   (('bcsel', ('inot', 'a@bool'), b, c), ('bcsel', a, c, b)),
> +   (('bcsel', ('inot', a), b, c), ('bcsel', a, c, b)),
>     (('bcsel', a, ('bcsel', a, b, c), d), ('bcsel', a, b, d)),
>     (('bcsel', a, True, 'b@bool'), ('ior', a, b)),
>     (('fmin', a, a), a),
> @@ -248,8 +248,8 @@ optimizations = [
>     (('ine', 'a@bool', True), ('inot', a)),
>     (('ine', 'a@bool', False), a),
>     (('ieq', 'a@bool', False), ('inot', 'a')),
> -   (('bcsel', a, True, False), ('ine', a, 0)),
> -   (('bcsel', a, False, True), ('ieq', a, 0)),
> +   (('bcsel', a, True, False), a),
> +   (('bcsel', a, False, True), ('inot', a)),
>     (('bcsel', True, b, c), b),
>     (('bcsel', False, b, c), c),
>     # The result of this should be hit by constant propagation and, in the
> --
> 2.9.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to