[Mesa-dev] [PATCH 0/5] NIR opcodes and constant folding

Connor Abbott cwabbott0 at gmail.com
Fri Jan 16 13:46:05 PST 2015


Hi,

This is a series I had floating around a while. The idea is to have all the
opcode stuff, including constant folding, derived from a single Python file.
I've cleaned it up a little by using {}-style Python formatting instead of the
pile of text-replacement and regular expressions we had before for getting the
constant expressions to a state where they could be compiled as C code.

Connor Abbott (5):
  nir: add generated file to .gitignore
  nir: use Python to autogenerate opcode information
  nir: add new constant folding infrastructure
  nir/constant_folding: use the new constant folding infrastructure
  nir/lower_vars_to_ssa: fix a bug with boolean constants

 src/glsl/Makefile.am                     |  23 +-
 src/glsl/Makefile.sources                |   7 +-
 src/glsl/nir/.gitignore                  |   4 +
 src/glsl/nir/nir.h                       |   9 -
 src/glsl/nir/nir_constant_expressions.h  |  32 ++
 src/glsl/nir/nir_constant_expressions.py | 320 +++++++++++++++++
 src/glsl/nir/nir_lower_vars_to_ssa.c     |   2 +-
 src/glsl/nir/nir_opcodes.c               |  46 ---
 src/glsl/nir/nir_opcodes.h               | 366 --------------------
 src/glsl/nir/nir_opcodes.py              | 567 +++++++++++++++++++++++++++++++
 src/glsl/nir/nir_opcodes_c.py            |  56 +++
 src/glsl/nir/nir_opcodes_h.py            |  39 +++
 src/glsl/nir/nir_opt_constant_folding.c  | 179 ++--------
 13 files changed, 1066 insertions(+), 584 deletions(-)
 create mode 100644 src/glsl/nir/.gitignore
 create mode 100644 src/glsl/nir/nir_constant_expressions.h
 create mode 100644 src/glsl/nir/nir_constant_expressions.py
 delete mode 100644 src/glsl/nir/nir_opcodes.c
 delete mode 100644 src/glsl/nir/nir_opcodes.h
 create mode 100644 src/glsl/nir/nir_opcodes.py
 create mode 100644 src/glsl/nir/nir_opcodes_c.py
 create mode 100644 src/glsl/nir/nir_opcodes_h.py

-- 
2.1.0



More information about the mesa-dev mailing list