arb_es2_compatibility-releaseshadercompiler-ge7: test glReleaseShaderCompiler crash

This tests exercises a Mesa crash found with Google Earth v7.
Specifically, Google Earth is calling glReleaseShaderCompiler() between
glCompileShader() and glLinkProgram().

It appears that glReleaseShaderCompiler() is freeing some data
structures that are needed later by the linker.

The test passes with NVIDIA's driver.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Test that loop unrolling properly infers loop bounds.

This patch introduces new vs and fs tests to provoke a bug in Mesa
which caused loop bounds to be inferred incorrectly when the loop
condition was expressed in an unusual way (e.g. "4 > i" instead of "i
< 4").

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
util: Add functions that provide glOrtho-like functionality.

This patch adds functions piglit_gen_ortho_uniform() and
piglit_ortho_uniform(), which can be used to set up an orthographic
projection when the legacy function glOrtho() is not available.

The functions work exactly like piglit_gen_ortho_projection() and
piglit_ortho_projection(), except that instead of programming the
legacy projection matrix, they program an arbitrary uniform matrix.

Reviewed-by: Brian Paul <brianp@vmware.com>
util: Add compressed representations of grayscale images.

This patch adds compressed representations of uniform grayscale blocks
to piglit, in the ETC1 and FXT1 compression formats.  Although they
don't exercise the full capabilities of these compression formats,
they should be sufficient to create basic tests of compression
functionality without having to rely on the GL implementation to do
compression on the fly.

Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Eric Anholt <eric@anholt.net>

v2: Add S3TC.
Add tests for glCompressedTex{Image,SubImage}3D().

Reviewed-by: Brian Paul <brianp@vmware.com>

v2: Switch the desktop GL test to use S3TC so that the test can run on
a greater variety of hardware.
WIP: basic varying struct test