[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mesa3d-dev
Subject:    Re: [Mesa-dev] [PATCH 0/3] save about 1MB per llvm vertex shader
From:       Frank Henigman <fjhenigman () google ! com>
Date:       2013-12-30 20:56:40
Message-ID: CAEO_iBLgVfWg1oqZc317citzL=cUEwru29J8q4nCp5GxmPqXaw () mail ! gmail ! com
[Download RAW message or body]

ping

On Wed, Nov 27, 2013 at 3:00 PM, Frank Henigman <fjhenigman@google.com> wrote:
> So the LLVM project did not care for any of my suggestions about JIT
> memory management.
> Not a big surprise as they don't seem to want much to do with JIT
> anymore, preferring MCJIT.
> Some day mesa will probably have to abandon JIT too.  Until then I
> think the cost of maintaining
> the memory manager classes I've introduced in this patch set is far
> outweighed by the benefit of
> saving about 1MB per shader.
> 
> v3 of the set follows.  Patch 1 is updated to work with llvm 3.4-rc1.
> 2 and 3 just rebased.
> 
> As for the MCJIT-only future, apparently it has a friendlier memory
> manager to work with.
> I haven't tried it yet as I don't want to introduce more code to mesa
> as long as we can get
> away with one manager for both JIT and MCJIT, but I'll see about
> setting up a branch for
> for MCJIT-only stuff, to be pulled into mesa when the time is right.
> 
> On Tue, Oct 1, 2013 at 3:16 PM, Frank Henigman <fjhenigman@google.com> wrote:
> > 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@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@lists.freedesktop.org
> > > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> > > > 
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic