This implements support in radv and radeonsi for NIR deref instructions instead of deref chains.
It contains 4 parts: - patch 1 is a fixup for the initial series by Jason - Add support everywhere for instruction based derefs - Stop lowering them to deref chains (may need to be synchronized with other drivers and core nir code to keep things bisectable) - Remove support for deref chains. You can find this series at https://github.com/bnieuwenhuizen/mesa/commits/derefs-v1 Bas Nieuwenhuizen (19): fixup! anv,i965,radv,st,ir3: Call nir_lower_deref_instrs ac/nir: Implement the deref instr for shared memory. ac/nir: Support deref instructions in get_sampler_desc. ac/nir: Support deref instructions in tex instructions. ac/nir: Implement derefs for integer gather4 lowering. ac/nir: Add deref support to image intrinsics. radv: Add shader info support for image deref instructions. ac/nir: Add deref based var loads/stores. radv: Gather info for deref instr based load/store. ac/nir: Add shared atomic deref instr support. ac/nir: Add deref interp support. radv: Use deref instructions for tex derefs in meta shaders. radv: Remove image_var stores. radeonsi: Add deref support to the nir scan pass. radv: Stop lowering deref instructions. st/nir: Stop lowering deref instructions. ac/nir: Remove deref chain support. radv: Remove deref chain support in radv shader info pass. radeonsi: Remove deref chain support in nir scan pass. src/amd/common/ac_nir_to_llvm.c | 547 ++++++++++--------- src/amd/vulkan/radv_meta.c | 20 +- src/amd/vulkan/radv_meta_blit.c | 30 +- src/amd/vulkan/radv_meta_blit2d.c | 21 +- src/amd/vulkan/radv_meta_bufimage.c | 62 ++- src/amd/vulkan/radv_meta_fast_clear.c | 17 +- src/amd/vulkan/radv_meta_resolve_cs.c | 10 +- src/amd/vulkan/radv_shader.c | 2 - src/amd/vulkan/radv_shader_info.c | 133 ++--- src/gallium/drivers/radeonsi/si_shader_nir.c | 72 ++- src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 - 11 files changed, 491 insertions(+), 425 deletions(-) -- 2.17.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev