mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
nir: Rely on the fact that bcsel takes a well formed boolean.
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. 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 <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
7ceb42ccc5
commit
7d0554f341
1 changed files with 3 additions and 3 deletions
|
|
@ -155,7 +155,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),
|
||||
|
|
@ -259,8 +259,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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue