This little series switches our back-end compiler to use libisl for the surface format introspection it needs for doing image_load_store shader work-arounds. Format introspection is the one place where thet back-end compilers still have a dependency on libmesa.
Once this dependency is removed, we can stop linking the Vulkan driver against libmesa and cut the size of libvulkan_intel.so down to about 2 MB. Unfortunately, we're not *quite* ready for that yet. The way that the different core compiler libraries are split up, libnir has a dependency on GLSL because glsl_to_nir is in libnir. It'll take a bit of whack-a-mole with makefiles and linking to really get to that point. Jason Ekstrand (13): i965: Add a dependency on libisl isl: Add an ISL_RESTRICT #define for use in isl.h isl: Don't use designated initializers in the header isl: Take a devinfo in lower_storage_image_format instead of an isl_device isl: Add a helper for determining when a typed load/store can be used anv/image: Use the has_matching_typed_storage_image_format helper from isl isl/format: Break the guts of has_[us]int_channel into a helper isl/format: Add more isl_format_has_type_channel functions isl/format: Add a get_num_channels helper i965/fs_surface_builder: Take a GL format enum instead of mesa_format i965/fs_surface_builder: Explicitly handle FORMAT_NONE in num_image_coordinates i965/fs_surface_builder: Add a helper for converting GL to ISL formats i965/fs_surface_builder: Use isl instead of mesa for format info configure.ac | 3 +- src/Makefile.am | 9 +- src/intel/Makefile.am | 4 - src/intel/isl/isl.h | 84 +++++++--- src/intel/isl/isl_format.c | 69 ++++++-- src/intel/isl/isl_storage_image.c | 40 +++-- src/intel/isl/isl_surface_state.c | 3 +- src/intel/vulkan/anv_image.c | 17 +- src/mesa/drivers/dri/i965/Makefile.am | 7 +- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 8 +- .../drivers/dri/i965/brw_fs_surface_builder.cpp | 173 +++++++++++++-------- src/mesa/drivers/dri/i965/brw_fs_surface_builder.h | 4 +- 12 files changed, 276 insertions(+), 145 deletions(-) -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev