Except for the one minor comment on patch 6, the series (including patches 13 and 14) is
Reviewed-by: Connor Abbott <cwabbo...@gmail.com> On Fri, Apr 10, 2015 at 8:48 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote: > Right now, most of the code to handle indirect dereferences of variables is > dead. However, I have a patch series (which I haven't cleaned up yet) that > makes it very much alive for the i965 backend. While working on this, I > found a number of bugs in NIR's handling of indirect references. All in > all, it's not nearly as bad as it could have been given that it hasn't ever > been tested. > > While this series does not make the code alive in i965, it does fix all but > one of the NIR bugs I found by turning it on in i965. Together with my > series to enable actual indirects in the i965 scalar backend, there is now > only one piglit regressions on HSW. Hopefully, I'll send a patch 13/12 on > Monday with the fix. This series, on top of my WIP i965 patches, can be > found in my review/nir-indirect-fixes branch on freedesktop.org: > > http://cgit.freedesktop.org/~jekstrand/mesa/log/?h=review/nir-indirect-fixes > > Jason Ekstrand (12): > nir/lower_vars_to_ssa: Actually look for indirects when determining > aliasing > nir: Refactor tex_instr_dest_size to use a switch statement > nir/tex: Use the correct return size for query_levels and lod > nir/print: Print the closing paren on load_const instructions > i965/nir: Use the correct offsets when handling register indirects > nir/lower_vars_to_ssa: Pass around the nir_shader instead of a void > mem_ctx > nir: Move get_const_initializer_load from vars_to_ssa to NIR core > nir/types: Make glsl_get_length smarter > nir: Add a simple growing array data structure > nir/locals_to_regs: Pass around the nir_shader rather than a void * > mem_ctx > nir/locals_to_regs: Initialize registers with constant initializers > nir/locals_to_regs: Hanadle indirect accesses of length-1 arrays > > src/glsl/nir/nir.c | 60 +++++++++++++ > src/glsl/nir/nir.h | 17 +++- > src/glsl/nir/nir_array.h | 96 ++++++++++++++++++++ > src/glsl/nir/nir_lower_locals_to_regs.c | 148 > ++++++++++++++++++++++++++----- > src/glsl/nir/nir_lower_var_copies.c | 24 +---- > src/glsl/nir/nir_lower_vars_to_ssa.c | 120 +++++-------------------- > src/glsl/nir/nir_print.c | 2 + > src/glsl/nir/nir_types.cpp | 16 +++- > src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 54 +++++------ > 9 files changed, 363 insertions(+), 174 deletions(-) > create mode 100644 src/glsl/nir/nir_array.h > > -- > 2.3.5 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev