I'm honestly not sure how helpful this is. At least in all the places where this series affects our drivers, more serious changes are needed.
On Fri, Mar 16, 2018 at 3:45 PM, Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> wrote: > FWIW > > Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> > > for the series. > > On Thu, Mar 15, 2018 at 3:27 PM, Rob Clark <robdcl...@gmail.com> wrote: > > Since a fair bit of access to nir_deref_var's is just to chase down the > > nir_variable for an intrinsic (or texture/sampler vars for tex > > instructions), we can make the flag day slightly less painful with some > > accessors that could be re-implemented for deref instruction chains. > > > > It will still be a flag day, there are still a lot of access to the > > nir_deref_var's in intrinsic instructions (and to a slightly lesser > > extent, tex instructions). > > > > Looks like amd's nir->llvm does a lot w/ deref chains.. vc4/vc5 and ir3 > > do not so much, other than tex related lowering pass, but I think that > > should be a trivial conversion to the brave new world of deref > > instructions (ie. just need a replacement for nir_deref_var_clone()) > > > > This series has light testing w/ freedreno, but it is mostly mechanical > > changes. If someone wants to feed it to automated testing, I have a > > branch here: > > > > https://github.com/freedreno/mesa/commits/flag-day-prep > > > > Rob Clark (9): > > nir: start to abstract deref chains/instructions > > freedreno/ir3: use nir_intrinsic_var() accessor > > amd: use nir_intrinsic_var() accessor > > mesa/st: use nir_intrinsic_var() accessor > > intel: use nir_intrinsic_var() accessor > > nir: use nir_intrinsic_var() accessor > > nir: use nir_tex_*_var() accessors > > intel: use nir_tex_*_var() accessors > > amd: use nir_tex_*_var() accessors > > > > src/amd/common/ac_nir_to_llvm.c | 76 > ++++++++++++---------- > > src/amd/vulkan/radv_shader_info.c | 22 ++++--- > > src/compiler/nir/nir.h | 34 ++++++++++ > > src/compiler/nir/nir_gather_info.c | 2 +- > > src/compiler/nir/nir_inline_functions.c | 6 +- > > src/compiler/nir/nir_instr_set.c | 2 +- > > src/compiler/nir/nir_linking_helpers.c | 10 ++- > > src/compiler/nir/nir_lower_alpha_test.c | 2 +- > > src/compiler/nir/nir_lower_atomics.c | 11 ++-- > > src/compiler/nir/nir_lower_clamp_color_outputs.c | 2 +- > > src/compiler/nir/nir_lower_global_vars_to_local.c | 2 +- > > src/compiler/nir/nir_lower_indirect_derefs.c | 4 +- > > src/compiler/nir/nir_lower_io.c | 10 +-- > > src/compiler/nir/nir_lower_io_arrays_to_elements.c | 4 +- > > src/compiler/nir/nir_lower_io_to_scalar.c | 2 +- > > src/compiler/nir/nir_lower_io_types.c | 2 +- > > src/compiler/nir/nir_lower_locals_to_regs.c | 4 +- > > src/compiler/nir/nir_lower_phis_to_scalar.c | 9 +-- > > src/compiler/nir/nir_lower_samplers.c | 6 +- > > src/compiler/nir/nir_lower_system_values.c | 2 +- > > src/compiler/nir/nir_lower_wpos_ytransform.c | 4 +- > > src/compiler/nir/nir_opt_peephole_select.c | 2 +- > > src/compiler/nir/nir_propagate_invariant.c | 8 +-- > > src/compiler/nir/nir_remove_dead_variables.c | 25 ++++--- > > src/compiler/nir/nir_validate.c | 22 ++++--- > > .../drivers/freedreno/ir3/ir3_compiler_nir.c | 8 +-- > > src/gallium/drivers/freedreno/ir3/ir3_nir.c | 2 +- > > src/gallium/drivers/radeonsi/si_shader_nir.c | 4 +- > > src/intel/compiler/brw_fs_nir.cpp | 4 +- > > src/intel/vulkan/anv_nir_apply_pipeline_layout.c | 20 +++--- > > src/intel/vulkan/anv_nir_lower_input_attachments.c | 2 +- > > src/intel/vulkan/anv_nir_lower_ycbcr_textures.c | 2 +- > > src/mesa/state_tracker/st_nir_lower_builtin.c | 2 +- > > 33 files changed, 184 insertions(+), 133 deletions(-) > > > > -- > > 2.14.3 > > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev