[Mesa-dev] [PATCH 0/3] save about 1MB per llvm vertex shader

Frank Henigman 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:
> Frank,
>
> 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
>
>
> Jose
>
> ----- 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
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>


More information about the mesa-dev mailing list