glsl: Move all var decls to the front of the IR list in reverse order
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 8 Jun 2013 00:05:22 +0000 (17:05 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 26 Jun 2013 19:27:23 +0000 (12:27 -0700)
commitc170c901d0f5384e5ab8b79b827663fa28439b0b
tree779918c619b1fde6143f577c0633128ae27c3147
parent329cd6a9b145d5b3b5a2acca1b6c2019d01c9355
glsl: Move all var decls to the front of the IR list in reverse order

This has the (intended!) side effect that vertex shader inputs and
fragment shader outputs will appear in the IR in the same order that
they appeared in the shader code.  This results in the locations being
assigned in the declared order.  Many (arguably buggy) applications
depend on this behavior, and it matches what nearly all other drivers
do.

Fixes the (new) piglit test attrib-assignments.

NOTE: This is a candidate for stable release branches (and requires the
previous commit to prevent a regression in OpenGL ES 2.0 conformance
test stencil_plane_operation).

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
src/glsl/ast_to_hir.cpp