[Mesa-dev] [PATCH 00/13] i965/compiler: Use ISL for image_load_store format
Jason Ekstrand
jason at jlekstrand.net
Sat Apr 16 19:45:08 UTC 2016
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
More information about the mesa-dev
mailing list