AMD_performance_monitor: Update comments about the Catalyst driver.

I retested using Catalyst 13.10 on my Radeon 6870, and it had the
same behavior as 12.6 did on my older Radeon 3650.

It's worth noting this fact, though, since the 6870 is actually
supported by the latest drivers, while the 3650 is only a legacy driver
at this point.
egl-1.4: Add test egl-terminate-then-unbind-context (v2)

This test makes current a context, terminates the context's display, then
unbinds the context. According to the EGL 1.4 spec (2011.04.06), Section
3.2 Initialization, no errors should occur.

Exposes a use-after-free crash on mesa-9.2 with i965. This is the
underlying reason that `./$gles1_test -fbo` crashes on Intel for each
GLES1 test.

v2: Comment why EGL_KHR_surfaceless_context is needed.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69622
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
glut framework: skip if implementation doesn't support required GL version.

In effect, we are already doing this when Waffle is in use, since
Waffle uses a context creation mechanism that ensures that the context
won't be created if the implementation doesn't support the GL version
needed by the test.  But for GLUT we need to do the check manually,
since GLUT always just creates the highest GL version context it can.
gs: Test that a single shader can redeclare both gl_PerVertex input and output.
gs: Don't try to use gl_PerVertex when redeclaring fragment shader inputs.

In commit 5b1dff3 (Geometry shaders: Test gl_ClipDistance input (GLSL
1.50)) I accidentally used this syntax to redeclare the
gl_ClipDistance fragment shader input:

    in gl_PerVertex {
      float gl_ClipDistance[8];
    };

This is incorrect--gl_PerVertex is only meaningful in vertex and
geometry shaders.  In fragment shaders gl_ClipDistance isn't in any
interface block.

v2: don't forget the "in" keyword.
Test that in/out qualifiers are required when redeclaring gl_ClipDistance.

Although it is not explicitly stated in the GLSL spec, all examples of
redeclaring built-in in/out variables (such as gl_ClipDistance)
include the "in" or "out" qualifier, so it seems like failure to do so
should cause a compile error.

At present:

- Mesa (as of commit a50c5f8) does not generate an error.

- The NVIDIA proprietary driver for Linux (version 313.18) does not
  generate an error; however, if gl_ClipDistance is redeclared in the
  fragment shader without specifying the "in" keyword, it fails to
  work properly.
Test unsized arrays in interface blocks

These tests verify that unsized arrays appearing inside interface
blocks obey the same rules as unsized arrays appearing outside
interface blocks.  Namely, their size is inferred from the largest
constant integer index used to access them across all compilation
units for the same shader stage, and this inferred size is used to
validate that interface blocks are properly matched between one shader
stage and the next.