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").
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