[Mesa-dev] [PATCH 02/10] i965 gs: Reduce information in key to avoid unnecessary recompiles.

Paul Berry stereotype441 at gmail.com
Mon Dec 5 15:14:13 PST 2011


On 5 December 2011 14:53, Eric Anholt <eric at anholt.net> wrote:

> On Mon,  5 Dec 2011 09:40:45 -0800, Paul Berry <stereotype441 at gmail.com>
> wrote:
> > Previously, the geometry shader program key was storing all the
> > information necessary to compute the exact structure of the VUE map
> > (attrs and userclip_active).  However, the GS program doesn't depend
> > on the exact structure of the VUE map; only on the size (in 256-bit
> > registers) of the VUE.  So we were recompiling the GS program
> > unnecessarily when the VUE map changed in structure but not in size.
> >
> > This patch changes the key to store just the size of the VUE map, not
> > its structure.
>
> Hmm.  I'm betting that brw_compute_vue_map() is way more expensive than
> the extra couple bytes of key data to compare.
>

True, but it's way less expensive than unnecessarily compiling (and
uploading to the GPU) a brand new GS program that is identical to the one
that's already there.  That's what this patch is avoiding.


>
> What I really want is to compute the vue map at the top of the pipeline
> and reuse it from the various places that want it.
>

Yeah, me too.  I'll write a follow-up patch that fixes that.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20111205/d9396383/attachment.html>


More information about the mesa-dev mailing list