For the first 2 in the series: Reviewed-by: Roland Scheidegger <srol...@vmware.com>
Am 31.01.2016 um 21:16 schrieb Rob Clark: > From: Rob Clark <robcl...@freedesktop.org> > > Ok, v3 of something I've been working on here and there for a while.. > > Since the last time I've sent this patchset, I've added support for > lowering drawpix/bitmap in NIR, as well as a NIR equiv to tgsi_emulate. > In addition, I've added a pass to lower builtin uniforms, for reasons > describes in 10/11. And in general organized things a bit better and > fixed a whole lot of stuff. > > I think I've addressed all the review comments from the previous > round. Thanks for those. > > At this point, the only regressions are with variable-indexing stuff, > and the issue there is entirely in freedreno/ir3 backend. So from a > functional standpoint, I think the gallium/mesa-st NIR support is > ready to go, with just cosmetic changes remaining. But of course this > would be a good time for review comments ;-) > > IMHO the major remaining TODO item is how to populate the 'struct > nir_shader_compiler_options'. Some, but far from all is available in > shader caps. But adding a bunch of shader caps now, and then more > later every time the compiler_options struct is extended doesn't sound > like fun. It would be kind of nice if the pipe driver could return > the compiler_options to use directly. > > As before, the latest is at: > > https://github.com/freedreno/mesa/commits/wip-gallium-skip-tgsi > > > Rob Clark (11): > gallium: refactor pipe_shader_state to support multiple IR's > gallium: add NIR as a possible IR > nir: add helper to calculate type size > nir: allow pre-resolved sampler uniform locations > nir: add lowering pass for y-transform > nir: add lowering pass for glDrawPixels > nir: add lowering pass for glBitmap > gallium/auxiliary: introduce nir_emulate > glsl: export accessor for builtin-uniform descriptors > mesa/st: add nir pass for lowering builtin uniforms > mesa/st: add support for NIR as possible driver IR > > src/compiler/Makefile.sources | 3 + > src/compiler/glsl/builtin_variables.cpp | 24 +- > src/compiler/glsl/ir.h | 3 + > src/compiler/nir/nir.h | 34 +++ > src/compiler/nir/nir_builder.h | 2 +- > src/compiler/nir/nir_lower_bitmap.c | 166 +++++++++++ > src/compiler/nir/nir_lower_drawpixels.c | 252 ++++++++++++++++ > src/compiler/nir/nir_lower_samplers.c | 23 +- > src/compiler/nir/nir_lower_wpos_ytransform.c | 317 ++++++++++++++++++++ > src/compiler/nir_types.cpp | 75 +++++ > src/compiler/nir_types.h | 3 + > src/gallium/auxiliary/Makefile.sources | 2 + > src/gallium/auxiliary/hud/hud_context.c | 9 +- > src/gallium/auxiliary/nir/nir_emulate.c | 177 +++++++++++ > src/gallium/auxiliary/nir/nir_emulate.h | 34 +++ > 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_state.h | 32 +- > src/mesa/Makefile.sources | 3 + > src/mesa/state_tracker/st_glsl_to_nir.cpp | 407 > ++++++++++++++++++++++++++ > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 147 ++++------ > src/mesa/state_tracker/st_glsl_to_tgsi.h | 5 + > src/mesa/state_tracker/st_nir.h | 51 ++++ > src/mesa/state_tracker/st_nir_lower_builtin.c | 207 +++++++++++++ > src/mesa/state_tracker/st_program.c | 171 +++++++++-- > src/mesa/state_tracker/st_program.h | 6 + > 29 files changed, 2037 insertions(+), 157 deletions(-) > create mode 100644 src/compiler/nir/nir_lower_bitmap.c > create mode 100644 src/compiler/nir/nir_lower_drawpixels.c > create mode 100644 src/compiler/nir/nir_lower_wpos_ytransform.c > create mode 100644 src/gallium/auxiliary/nir/nir_emulate.c > create mode 100644 src/gallium/auxiliary/nir/nir_emulate.h > create mode 100644 src/mesa/state_tracker/st_glsl_to_nir.cpp > create mode 100644 src/mesa/state_tracker/st_nir.h > create mode 100644 src/mesa/state_tracker/st_nir_lower_builtin.c > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev