[Mesa-dev] [PATCH 00/13] i965/compiler: Use ISL for image_load_store format
emil.l.velikov at gmail.com
Mon Apr 18 19:25:15 UTC 2016
On 17 April 2016 at 00:47, Jason Ekstrand <jason at jlekstrand.net> wrote:
> On Sat, Apr 16, 2016 at 4:40 PM, Emil Velikov <emil.l.velikov at gmail.com>
>> 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.
Some hacks that I've got so far are in for-jason/vulkan-without-libmesa
An alternative method (flesh out glsl_to_nir to a separate static
library) is getting extremely hairy real quick. So be warned if you
want to go that route.
Then again regardless if one goes the former or latter method, we
should really start thinking about getting a common IR (and infra
around it) factored out. If we discard GLSL, we also have mesa (prog)
IR, which will be extra tricky to get out unless i965_compiler kicks
out the dependency of prog_to_nir() and alike.
More information about the mesa-dev