From: Rob Clark <robcl...@freedesktop.org> Ok, hopefully (close to the) last iteration of this patchset. Quite a lot of it has r-b's by now. There a few new nir bits (in particular, the "lower-io-types" pass and some updates to the "lower-outputs-to- temporaries" pass. Some of that will have some conflicts with stuff that Jason has in-flight.. I can either rebase on top of his patchset or rebase his patchset on top of mine, depending on what lands first.
There is also a new mesa/st pass to lower builtin uniforms, to address issues that I mentioned with the previous round of patches (ie. built- ins getting packed differently from normal struct uniforms). There is also a new nir_lower_io_types pass that splits up complex inputs/outputs to vec4 slots so that we can deal with galliums VBO slot assignment (ie. it will already only assign VBO space to VS varyings which are actually read). Btw, I wouldn't mind starting to push at least parts of this patchset which have r-b's and don't depend on other parts that don't have r-b. But I've held off for now to avoid having a bunch of nir passes that aren't used upstream. Rob Clark (16): 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: add support for NIR as possible driver IR src/compiler/Makefile.sources | 8 +- src/compiler/glsl/builtin_variables.cpp | 24 +- src/compiler/glsl/ir.h | 3 + src/compiler/nir/glsl_to_nir.cpp | 2 - src/compiler/nir/nir.h | 40 +- src/compiler/nir/nir_builder.h | 2 +- src/compiler/nir/nir_lower_bitmap.c | 166 ++++++++ src/compiler/nir/nir_lower_clamp_color_outputs.c | 117 ++++++ src/compiler/nir/nir_lower_drawpixels.c | 252 ++++++++++++ src/compiler/nir/nir_lower_io_to_temporaries.c | 185 +++++++++ src/compiler/nir/nir_lower_io_types.c | 178 +++++++++ .../nir/nir_lower_outputs_to_temporaries.c | 133 ------- src/compiler/nir/nir_lower_passthrough_edgeflags.c | 82 ++++ 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 +- .../drivers/freedreno/ir3/ir3_compiler_nir.c | 8 + 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/drivers/dri/i965/brw_nir.c | 1 + src/mesa/state_tracker/st_glsl_to_nir.cpp | 425 +++++++++++++++++++++ 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 | 60 +++ src/mesa/state_tracker/st_nir_lower_builtin.c | 242 ++++++++++++ src/mesa/state_tracker/st_program.c | 148 ++++++- src/mesa/state_tracker/st_program.h | 6 + 34 files changed, 2487 insertions(+), 252 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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev