glsl: Account for location field when comparing interface blocks.
authorPaul Berry <stereotype441@gmail.com>
Sat, 28 Sep 2013 18:00:26 +0000 (11:00 -0700)
committerPaul Berry <stereotype441@gmail.com>
Thu, 10 Oct 2013 21:27:03 +0000 (14:27 -0700)
commit6a157f2e3345faf23041eaefb47183a6debacb6b
tree0c5ee43dcf10c2e1b2f27156cd599b135b9cc2c2
parent5a234d92af2467f6a224e2aee966257656e5af80
glsl: Account for location field when comparing interface blocks.

In commit e2660770731b018411fbe1620cacddaf8dff5287 (glsl: Keep track
of location for interface block fields), I neglected to update
glsl_type::record_key_compare to account for the fact that interface
types now contain location information.  As a result, interface types
that differ only by their location information would not be properly
distinguished.

At the moment this is not a problem, because the only interface block
in which location information != -1 is gl_PerVertex, and gl_PerVertex
is always created in the same way.  However, in the patches that
follow, we'll be adding new ways to create gl_PerVertex (by
redeclaring it), so we'll need location information to be handled
properly.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/glsl_types.cpp