[Mesa-dev] [RFC PATCH 0/2] i965/gs: Precompile geometry shaders.

Eric Anholt eric at anholt.net
Mon Nov 4 10:59:06 PST 2013


Paul Berry <stereotype441 at gmail.com> writes:

> This series adds precompilation for geometry shaders.
>
> I'm not 100% certain this is worth doing, because:
>
> (a) I'm aware of very few programs out in the wild that actually use
> geometry shaders right now.
>
> (b) Since i965 hardware has no ability to remap vertex shader outputs
> to geometry shader inputs, part of the geometry shader compilation key
> is the exact set of outputs produced by the vertex shader.  When
> precompiling the geometry shader, the best we can do is assume that
> this is the same as the set of inputs consumed by the geometry shader.
> If, when the geometry shader is finally used, this proves not to be
> the case, then precompilation will have been a waste of time.

Does slots_valid generally equal InputsRead?  I'm really not sure
without tracing through the slots setup.

If we're getting reuse of precompiled programs on even piglit tests,
then I'd be interested in precompiling landing because it means I get to
(some day, when we find GSes in the wild) get them into shader-db.  If
we need to see what the VS produces as well in order to get the
precompile to match execution, I think we could also reach over to
prog->_LinkedShaders[MESA_SHADER_VERTEX]->Program.

Assuming the precompiles are getting successfully reused:

Reviewed-by: Eric Anholt <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131104/f1540ec1/attachment.pgp>


More information about the mesa-dev mailing list