[Mesa-dev] [PATCH 0/4] Nir: implement a load-combine pass

Iago Toral Quiroga itoral at igalia.com
Tue Oct 27 02:28:57 PDT 2015


This follows the load-combine approach suggested by Connor and Jason
in this thread:

http://lists.freedesktop.org/archives/mesa-dev/2015-October/098052.html

The pass works on local blocks only and supports rewriting loads with
previous stores too. Only supports SSBO load/store operations at the
moment.

No regressions observed in piglit and dEQP's SSBO functional tests
(dEQP-GLES31.functions.ssbo.*).

Iago Toral Quiroga (4):
  nir/instr_set: Add an allow_loads field
  nir: add a load-combine pass
  nir/load_combine: expand the pass to support load-after-store.
  i965: use the load-combine pass

 src/glsl/Makefile.sources           |   1 +
 src/glsl/nir/nir.h                  |   2 +
 src/glsl/nir/nir_instr_set.c        |  51 ++--
 src/glsl/nir/nir_instr_set.h        |  20 +-
 src/glsl/nir/nir_opt_cse.c          |   4 +-
 src/glsl/nir/nir_opt_load_combine.c | 460 ++++++++++++++++++++++++++++++++++++
 src/mesa/drivers/dri/i965/brw_nir.c |   2 +
 7 files changed, 515 insertions(+), 25 deletions(-)
 create mode 100644 src/glsl/nir/nir_opt_load_combine.c

-- 
1.9.1



More information about the mesa-dev mailing list