<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Apr 16, 2016 at 4:40 PM, Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 16 April 2016 at 20:45, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
> This little series switches our back-end compiler to use libisl for the<br>
> surface format introspection it needs for doing image_load_store shader<br>
> work-arounds.  Format introspection is the one place where thet back-end<br>
> compilers still have a dependency on libmesa.<br>
><br>
> Once this dependency is removed, we can stop linking the Vulkan driver<br>
> against libmesa and cut the size of libvulkan_intel.so down to about 2 MB.<br>
</span>Nice one Jason. With vulkan landing in master I was about to ask you<br>
guys about this (re: reusing isl getting rid of libmesa dependency).<br>
<br>
The size savings sound quite nice. Although it seems that isl might<br>
need a bit more for earlier generations and/or msaa.<br>
<br>
Meanwhile I'll give src/intel, simplifying/folding things a bit.<br>
<span class=""><br>
> Unfortunately, we're not *quite* ready for that yet.  The way that the<br>
> different core compiler libraries are split up, libnir has a dependency on<br>
> GLSL because glsl_to_nir is in libnir.  It'll take a bit of whack-a-mole<br>
> with makefiles and linking to really get to that point.<br>
><br>
</span>Strange I don't recall such issue. Can you share a build log ?<br></blockquote><div><br></div><div>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.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A while back I was able to build the "nine" target on freedreno<br>
without a problem. It (used to) include the following:<br>
<br>
       $(top_builddir)/src/gallium/auxiliary/<a href="http://libgallium.la" rel="noreferrer" target="_blank">libgallium.la</a> \<br>
       $(top_builddir)/src/gallium/state_trackers/nine/<a href="http://libninetracker.la" rel="noreferrer" target="_blank">libninetracker.la</a> \<br>
       $(top_builddir)/src/compiler/nir/<a href="http://libnir.la" rel="noreferrer" target="_blank">libnir.la</a> \<br>
       $(top_builddir)/src/compiler/<a href="http://libcompiler.la" rel="noreferrer" target="_blank">libcompiler.la</a> \<br>
       $(top_builddir)/src/util/<a href="http://libmesautil.la" rel="noreferrer" target="_blank">libmesautil.la</a> \<br>
       $(top_builddir)/src/gallium/winsys/freedreno/drm/<a href="http://libfreedrenodrm.la" rel="noreferrer" target="_blank">libfreedrenodrm.la</a> \<br>
       $(top_builddir)/src/gallium/drivers/freedreno/<a href="http://libfreedreno.la" rel="noreferrer" target="_blank">libfreedreno.la</a> \<br>
      + a bunch of shared libraries<br>
<br>
<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888">Emil<br>
</font></span></blockquote></div><br></div></div>