The full commit message is this:

commit 586b4b500fed64fb724beb3753bc190cd1c676e0
Author: Eric Anholt <e...@anholt.net>
Date:   Tue Sep 28 14:32:16 2010 -0700

    glsl: Also update implicit sizes of varyings at link time.

    Otherwise, we'll often end up with gl_TexCoord being 0 length, for
    example.  With ir_to_mesa, things ended up working out anyway, as long
    as multiple implicitly-sized arrays weren't involved.

Unfortunately, this commit assumes that vertex shader outputs and fragment
shader inputs can be matched up by simply searching for variables with
common names in all shaders.  That's not going to be safe in the presence
of geometry shaders or interface blocks.

I tried reverting* the commit and didn't get any piglit failures.  Is it
still needed?  I'm having trouble understanding the problem it's trying to
solve (in what circumstances would we have ended up with gl_TexCoord being
0 length?)

*Note: because of merge conflicts I couldn't revert the patch directly, but
I did the moral equivalent by restoring the if test in update_array_sizes()
to its initial form.  My experiment can be found in branch
"revert-update-array-sizes" of git://github.com/stereotype441/mesa.git
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to