[Mesa-dev] [PATCH 0/3] save about 1MB per llvm vertex shader
fjhenigman at google.com
Tue Oct 1 12:16:10 PDT 2013
I've now tested with LLVM from 3.1 to 3.4, thus covering both JIT and MCJIT.
I also factored out a generic delegating memory manager and sent it to
the LLVM list: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-October/066043.html
Do you want to see that play out or could we add this to mesa now?
v2 of this set has been sent to the mesa list. Only patch 1 changed
(refactored as mentioned above), 2-3 were just rebased.
Thanks. Sorry for the late response.
On Tue, Jul 9, 2013 at 3:05 PM, Jose Fonseca <jfonseca at vmware.com> wrote:
> Sorry for the long delay. Lately I haven't been able to keep up with email, both internal or external.
> This series looks great.
> Two comments:
> - currently we prefer the old JIT to MCJIT. could you confirm that this series should work with the old JIT and MCJIT just as well?
> - we should probably consider upstreaming ShaderMemoryManager into LLVM (after renaming), as there might be other users interested, and also because it would reduce the burden of keeping this code up-to-date with LLVM
> ----- Original Message -----
>> Patch 1 changes how llvm allocates memory to hold generated code, and will
>> save memory for llvm vertex shaders, geometry shaders and llvmpipe. It's not
>> so pretty but llvm makes life difficult for us: default memory manager is
>> not accessible to derive from. I also tried generating relocatable code so
>> it could just be copied out, but it would crash in that code. (Didn't dig
>> into why.)
>> Patch 3 saves additional memory but so far only for vertex shaders. At a
>> glance it seems simple to do the same for geometry shaders and llvmpipe.
>> I'll take a stab at those if there is interest.
>> No piglit regressions on pineview with gallium driver. This code has also
>> been in Chrome OS for a few months.
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
More information about the mesa-dev