arb-fragment-coord-conventions: test center shift correctness

Modifies the pixel center tests to check that the pixel coordinates
actually start at 0 / 0.5.
Catches sign errors in center shift calculation (+-0.5).
gl-1.0-dlist-shademodel: test glShadeModel() inside a display list

This is pretty trivial, but it's useful for debugging a Mesa display
list optimization.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
dlist-beginend: test some tricky glBegin/glEnd display list corner cases

These are some special cases not covered by the beginend-coverage test.
In particular, we do some drawing/probing.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
gl-1.0-begend-coverage: remove unneeded #include "minmax-test.h"

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
gl-1.0-beginend-coverage: fix FBO-related failures when using GLUT

When Piglit's configured to use GLUT instead of Waffle we don't have
full support for the -fbo option.  So in beginend-coverage we now
check if we really have a FBO bound in order to compute the right
fbo_attachment value.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
s3tc-errors: add more glTex[Sub]Image2D() error checking tests

Two new things:
1. Test small mipmap level sizes (width,height=1,2,4)
2. Test NPOT textures

Passes with NVIDIA's driver.  Checks for a Mesa bug.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Primitive restart: Test in every possible draw mode.

Some implementations (i965 in particular) treat primitive restart
differently depending what type of primitive is being drawn.  This
test verifies that primitive restart works correctly for all primitive
types.
util: Create generic piglit_draw_rect() functions.  TODO: rework.

This patch adds the following functions to piglit-util-gl-common:
- piglit_draw_rect_generic
- piglit_draw_rect_back_generic
- piglit_draw_rect_z_generic
- piglit_draw_rect_tex_generic

These functions are similar to corresponding functions without the
"_generic" suffix, except that instead of delivering vertex position
and texture coordinates to the vertex shader using glVertexPointer()
and glTexCoordPointer(), they deliver to the generic attributes
PIGLIT_ATTRIB_POS and PIGLIT_ATTRIB_TEX.  These functions use VBO's
and VAO's when available, so they may be used when testing core
contexts.

These functions also work with compatibility contexts and with all
GLES versions.  Since GLES1 doesn't support generic vertex attributes,
we fall back to using glVertexPointer() and glTexCoordPointer() in the
GLES1 case.

When building GLES tests, the behaviour of the new _generic functions
is for all intents and purposes the same as that of the pre-existing
non-generic functions.  So to avoid code duplication, the non-generic
functions simply call their generic equivalents in GLES builds.
WIP: start testing GS in/out types
WIP: fix shader_runner error reporting when vertex data included.
WIP: Basic test of GS input varyings
Geometry shaders: add a basic EndPrimitive() test.
WIP: large EndPrimitive test
shader_runner: Add missing newlines to error messages.

Certain shader error messages were missing newlines, leading to the
error message being concatenated on the same line with "PIGLIT:
{'result': 'fail' }".
Make shader_runner able to test new primitive types