fbo-storage-formats: Fix reporting of invalid formats.

Currently Invalid formats is reported from the formats data structure.
This is incorrect because the invalid formats set should not use this
system.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Test that geometry shaders input types must match the primitive mode

v2: condense all previous tests into a single file and move it to correct location

Reviewed-by: Paul Berry <stereotype441@gmail.com>
GL 3.2: Test layered framebuffers blit properly.

Reviewed-by: Paul Berry <stereotype441@gmail.com>
GL 3.2: Test layered framebuffers clear the color attachment properly.

Reviewed-by: Paul Berry <stereotype441@gmail.com>
GL 3.2: Test FramebufferTexture() with buffer textures.

Reviewed-by: Paul Berry <stereotype441@gmail.com>
xfb: Fix max_varyings/max_xfb_varyings mix-up.

The transform feedback max-varyings test had a mix-up between
max_varyings (the number of varying vec4's supported by the
implementation) and max_xfb_varyings (the number of transform feedback
output vec4's supported by the implementation).

As a result, we would run the test as though both values were
max_xfb_varyings, but we would check the results as though both values
were max_varyings.  This would cause spurious failures on
implementations for which max_varyings is greater than
max_xfb_varyings.
gs: less demanding tests for triangle strips.

Commit 2ef33fd introduced some fairly demanding tests to verify that
for each possible input primitive type, vertices are delivered to the
geometry shader in the proper order.

Some hardware may not be able to satisfy all of OpenGL's ordering
requirements for GL_TRIANGLE_STRIP and GL_TRIANGLE_STRIP_ADJACENCY (in
particular, Intel Ivy Bridge requires some workarounds, and I haven't
yet determined whether those workarounds are possible in all
circumstances).

In case the implementation can't get the ordering exactly right, we
still want to make sure that (a) triangle orientation is correct, and
(b) with GL_TRIANGLE_STRIP_ADJACENCY, adjacent vertices are correctly
ordered relative to the primary triangle vertices.
gs: Test corner case for triangle strip ordering with primitive restart.

Verified using the NVIDIA proprietary driver for linux.
gs: Test interaction between gl_PrimitiveIDIn and primitive restart.

Verified using the NVIDIA proprietary driver for linux.
!UPSTREAM: Test core GS inputs on GLSL 1.50

TODO:
- Make this work.
gs: Test that input arrays can be accessed dynamically.

Most geometry shaders access their input arrays using a constant index
(or an index that is constant after loop unrolling).  This test checks
that we get the right results if we access a geometry shader input
array using a non-constant index.