[Mesa-dev] [PATCH 00/17] gallium: add support for NIR as alternate IR

Rob Clark robdclark at gmail.com
Fri Apr 15 14:49:35 UTC 2016


From: Rob Clark <robclark at freedesktop.org>

Only a few minor review comment changes since last time, most of which
should have already been sent to list individually.  But resending the
whole patchset to try to collect r-b's (and so anyone can tell me if
I missed some r-b's).

Hopefully Jason could look at the lower-io patches, which I think he
was at least close to liking?

The remaining parts missing r-b are the lower-builtin-uniforms patch
(and sadly I suspect the intersection of folks who know NIR and folks
who understand that code might just be me, so maybe an a-b would be
ok?) and the last patch, which I guess doesn't need quite so much NIR
expertise to review?

Rob Clark (17):
  gallium: refactor pipe_shader_state to support multiple IR's
  gallium: add NIR as a possible IR
  nir: add lowering pass for y-transform
  nir: add lowering pass for glDrawPixels
  nir: add lowering pass for glBitmap
  nir: clamp-color-output support
  nir: passthrough-edgeflags support
  nir: lower-io-types pass
  nir: move callsite of lower_outputs_to_temporaries
  nir: rename lower_outputs_to_temporaries -> lower_io_to_temporaries
  nir/lower-io: split out some helper fxns
  nir/lower-io: add support for lowering inputs
  glsl: export accessor for builtin-uniform descriptors
  mesa/st: split the type_size calculation into it's own file
  mesa/st: add nir pass for lowering builtin uniforms
  mesa/st: move things around a bit in st_create_fp_variant()
  mesa/st: add support for NIR as possible driver IR

 src/compiler/Makefile.sources                      |   8 +-
 src/compiler/glsl/builtin_variables.cpp            |  23 +-
 src/compiler/glsl/ir.h                             |   3 +
 src/compiler/nir/glsl_to_nir.cpp                   |   2 -
 src/compiler/nir/nir.h                             |  41 +-
 src/compiler/nir/nir_builder.h                     |   2 +-
 src/compiler/nir/nir_lower_bitmap.c                | 139 +++++++
 src/compiler/nir/nir_lower_clamp_color_outputs.c   | 117 ++++++
 src/compiler/nir/nir_lower_drawpixels.c            | 254 +++++++++++++
 src/compiler/nir/nir_lower_io_to_temporaries.c     | 191 ++++++++++
 src/compiler/nir/nir_lower_io_types.c              | 175 +++++++++
 .../nir/nir_lower_outputs_to_temporaries.c         | 136 -------
 src/compiler/nir/nir_lower_passthrough_edgeflags.c |  58 +++
 src/compiler/nir/nir_lower_wpos_ytransform.c       | 310 +++++++++++++++
 src/gallium/auxiliary/hud/hud_context.c            |   9 +-
 src/gallium/auxiliary/postprocess/pp_run.c         |   3 +-
 src/gallium/auxiliary/tgsi/tgsi_ureg.c             |   4 +-
 src/gallium/auxiliary/util/u_simple_shaders.c      |  18 +-
 src/gallium/auxiliary/util/u_tests.c               |   3 +-
 src/gallium/include/pipe/p_defines.h               |  13 +-
 src/gallium/include/pipe/p_screen.h                |   9 +
 src/gallium/include/pipe/p_state.h                 |  32 +-
 src/mesa/Makefile.sources                          |   5 +
 src/mesa/SConscript                                |   1 +
 src/mesa/drivers/dri/i965/brw_nir.c                |   3 +
 src/mesa/state_tracker/st_glsl_to_nir.cpp          | 423 +++++++++++++++++++++
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp         | 104 ++---
 src/mesa/state_tracker/st_glsl_to_tgsi.h           |   5 +
 src/mesa/state_tracker/st_glsl_types.cpp           |  98 +++++
 src/mesa/state_tracker/st_glsl_types.h             |  44 +++
 src/mesa/state_tracker/st_nir.h                    |  52 +++
 src/mesa/state_tracker/st_nir_lower_builtin.c      | 245 ++++++++++++
 src/mesa/state_tracker/st_program.c                | 148 ++++++-
 src/mesa/state_tracker/st_program.h                |   6 +
 34 files changed, 2428 insertions(+), 256 deletions(-)
 create mode 100644 src/compiler/nir/nir_lower_bitmap.c
 create mode 100644 src/compiler/nir/nir_lower_clamp_color_outputs.c
 create mode 100644 src/compiler/nir/nir_lower_drawpixels.c
 create mode 100644 src/compiler/nir/nir_lower_io_to_temporaries.c
 create mode 100644 src/compiler/nir/nir_lower_io_types.c
 delete mode 100644 src/compiler/nir/nir_lower_outputs_to_temporaries.c
 create mode 100644 src/compiler/nir/nir_lower_passthrough_edgeflags.c
 create mode 100644 src/compiler/nir/nir_lower_wpos_ytransform.c
 create mode 100644 src/mesa/state_tracker/st_glsl_to_nir.cpp
 create mode 100644 src/mesa/state_tracker/st_glsl_types.cpp
 create mode 100644 src/mesa/state_tracker/st_glsl_types.h
 create mode 100644 src/mesa/state_tracker/st_nir.h
 create mode 100644 src/mesa/state_tracker/st_nir_lower_builtin.c

-- 
2.5.5



More information about the mesa-dev mailing list