anv: Emulate texture swizzle in the shader when needed
Now that we have the descriptor buffer mechanism, emulated texture swizzle can be implemented in a very non-invasive way. Previous attempts all tried to extend the push constant based image param mechanism which was gross. This could, in theory, be done much faster with a magic back-end instruction which does indirect MOVs but Vulkan on IVB is already so slow this isn't going to matter much. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104355 Cc: "19.1" <mesa-stable@lists.freedesktop.org> Reviewed-by:Lionel Landwerlin <lionel.g.landwerlin@intel.com>
- src/intel/vulkan/anv_descriptor_set.c 29 additions, 0 deletionssrc/intel/vulkan/anv_descriptor_set.c
- src/intel/vulkan/anv_image.c 4 additions, 0 deletionssrc/intel/vulkan/anv_image.c
- src/intel/vulkan/anv_nir_apply_pipeline_layout.c 87 additions, 2 deletionssrc/intel/vulkan/anv_nir_apply_pipeline_layout.c
- src/intel/vulkan/anv_private.h 13 additions, 0 deletionssrc/intel/vulkan/anv_private.h