[Mesa-dev] [PATCH v2 00/11] nir: Rework boolean conversions

Jason Ekstrand jason at jlekstrand.net
Thu Nov 29 23:37:12 UTC 2018


This is mostly a re-send of my earlier series to rework boolean conversions
in NIR which can be found here:

https://lists.freedesktop.org/archives/mesa-dev/2018-November/209089.html

This version solidly chooses path B from the previous series and is rebased
on top of Connor's nir_algebraic.py reworks.  With his rework, the
nir_algebraic.py changes required by this series are much simpler.

Jason Ekstrand (11):
  nir/opcodes: Pull in the type helpers from constant_expressions
  nir/opcodes: Rename tbool to tbool32
  nir/algebraic: Clean up some __str__ cruft
  nir/algebraic: Refactor codegen a bit
  nir/algebraic: Add support for unsized conversion opcodes
  nir/opt_algebraic: Simplify an optimization using the new search ops
  nir/opt_algebraic: Drop bit-size suffixes from conversions
  nir/opt_algebraic: Add 32-bit specifiers to a bunch of booleans
  nir: Make boolean conversions sized just like the others
  FIXUP: nir/opt_algebraic: Add suffixes to some x2b opcodes
  FIXUP: Fix NIR producers and consumers to use unsized conversions

 src/amd/common/ac_nir_to_llvm.c              |  12 +-
 src/broadcom/compiler/nir_to_vir.c           |   8 +-
 src/compiler/glsl/glsl_to_nir.cpp            |   2 +-
 src/compiler/nir/nir.h                       |   4 +-
 src/compiler/nir/nir_algebraic.py            |  74 ++++++--
 src/compiler/nir/nir_builder.h               |  12 ++
 src/compiler/nir/nir_constant_expressions.py |  25 +--
 src/compiler/nir/nir_lower_idiv.c            |   2 +-
 src/compiler/nir/nir_lower_int64.c           |   2 +-
 src/compiler/nir/nir_opcodes.py              |  73 +++++---
 src/compiler/nir/nir_opcodes_c.py            |  41 ++--
 src/compiler/nir/nir_opt_algebraic.py        | 187 +++++++++----------
 src/compiler/nir/nir_opt_if.c                |   2 +-
 src/compiler/nir/nir_search.c                | 109 ++++++++++-
 src/compiler/nir/nir_search.h                |  17 +-
 src/compiler/spirv/vtn_glsl450.c             |   4 +-
 src/freedreno/ir3/ir3_compiler_nir.c         |  11 +-
 src/gallium/drivers/vc4/vc4_program.c        |   8 +-
 src/intel/compiler/brw_fs_nir.cpp            |  19 +-
 src/intel/compiler/brw_vec4_nir.cpp          |   9 +-
 src/mesa/program/prog_to_nir.c               |   4 +-
 21 files changed, 397 insertions(+), 228 deletions(-)

-- 
2.19.1



More information about the mesa-dev mailing list