[Mesa-dev] [PATCH 00/13] i965/compiler: Use ISL for image_load_store format

Jason Ekstrand jason at jlekstrand.net
Sat Apr 16 23:47:46 UTC 2016


On Sat, Apr 16, 2016 at 4:40 PM, Emil Velikov <emil.l.velikov at gmail.com>
wrote:

> On 16 April 2016 at 20:45, Jason Ekstrand <jason at jlekstrand.net> wrote:
> > 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.
> Nice one Jason. With vulkan landing in master I was about to ask you
> guys about this (re: reusing isl getting rid of libmesa dependency).
>
> The size savings sound quite nice. Although it seems that isl might
> need a bit more for earlier generations and/or msaa.
>
> Meanwhile I'll give src/intel, simplifying/folding things a bit.
>
> > 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.
> >
> Strange I don't recall such issue. Can you share a build log ?
>

If you want to experiment with it, go for it.  All you have to do is apply
this series and then get rid of the two lines in
src/intel/vulkan/Makefile.am that include libmesa and libdri_test_stubs.
It fails to link the vulkan driver with undefined symbols for the visitor
class used in glsl_to_nir.cpp.


> A while back I was able to build the "nine" target on freedreno
> without a problem. It (used to) include the following:
>
>        $(top_builddir)/src/gallium/auxiliary/libgallium.la \
>        $(top_builddir)/src/gallium/state_trackers/nine/libninetracker.la \
>        $(top_builddir)/src/compiler/nir/libnir.la \
>        $(top_builddir)/src/compiler/libcompiler.la \
>        $(top_builddir)/src/util/libmesautil.la \
>        $(top_builddir)/src/gallium/winsys/freedreno/drm/libfreedrenodrm.la
> \
>        $(top_builddir)/src/gallium/drivers/freedreno/libfreedreno.la \
>       + a bunch of shared libraries
>
>
> Thanks
> Emil
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160416/f712839b/attachment.html>


More information about the mesa-dev mailing list