[Mesa-dev] [PATCH 00/13] nir: add lowering passes for double ops

Samuel Iglesias Gonsálvez siglesias at igalia.com
Tue Apr 12 08:05:09 UTC 2016


Hello,

This series adds NIR-specific lowering passes for opcodes that operate
with doubles. These lowering passes can be enabled individually by the
drivers, through the respective flags, if the HW does not implement them
natively.

This series is needed for the i965 patches we are writing.

This series is available in our repo:

$ git clone -b nir-lowering-doubles https://github.com/Igalia/mesa.git

Thanks,

Sam

Connor Abbott (3):
  nir/builder: add nir_imm_uint()
  nir/builder: add nir_imm_double()
  nir: add a pass to lower some double operations

Iago Toral Quiroga (7):
  nir/lower_double_ops: lower trunc()
  nir/lower_double_ops: lower floor()
  nir/lower_double_ops: lower ceil()
  nir/lower_double_ops: lower fract()
  nir/lower_double_ops: lower round_even()
  nir: add pack_double_2x32_split_y opcode
  nir/lower_double_ops: optimize set_exponent()

Samuel Iglesias Gonsálvez (3):
  nir/builder: Add bit_size info to nir_build_imm()
  nir: verify destination bit size when checking algebraic optimizations
  nir: Add lrp lowering for doubles in opt_algebraic

 src/compiler/Makefile.sources              |   1 +
 src/compiler/nir/nir.h                     |  14 +
 src/compiler/nir/nir_algebraic.py          |  11 +-
 src/compiler/nir/nir_builder.h             |  28 +-
 src/compiler/nir/nir_lower_double_ops.c    | 597 +++++++++++++++++++++++++++++
 src/compiler/nir/nir_lower_system_values.c |   2 +-
 src/compiler/nir/nir_lower_tex.c           |   2 +-
 src/compiler/nir/nir_opcodes.py            |  14 +
 src/compiler/nir/nir_opt_algebraic.py      |   7 +-
 9 files changed, 665 insertions(+), 11 deletions(-)
 create mode 100644 src/compiler/nir/nir_lower_double_ops.c

-- 
2.5.0



More information about the mesa-dev mailing list