arb_tessellation_shader: Add sanity shader_runner test.

Add test that should tessellate two 3-vertex-patches into one triangle each
to fill the screen.

The test should effectively bahave as if the vertex data was used to draw
GL_TRIANGLES without the tessellation stage.

Note [Chris]: This is partially redundant with nop.shader_test, but the
approach in the tessellation evaluation shader is more normal (weighted
sum of vertices) so both are useful.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
arb_tessellation_shader: Test large uniforms arrays.

Test uniform arrays of maximal size as well as arrays of uniform blocks.

Also test for the required linking errors if too large uniform arrays are
requested.
arb_tessellation_shader: Test global layout qualifiers.

Test declaring layout qualifiers in multiple shader objects and check for
linking arrays if qualifiers mismatch.
gen_builtin_uniform_tests.py: Add tessellation control shader tests.
generated_tests: Test tessellation evaluation shader input.

For every GLSL variable type, generate four tests. One passes a per-vertex
and one a per-patch varying of said type as a scalar from the tessellation
control to the tessellation evaluation shader. The two other tests do the same
for a two-element array of that type.

The varying gets filled in the tessellation control shader from a uniform and
compared against the same uniform in the tessellation evaluation shader.

Every test draws 4 patches, each of which gets tessellated into a quad that
fills a quarter of the screen.

Also test core profile built-in varyings in gl_PerVertex.
generated_tests: Test tessellation control shader input.

for every GLSL variable type, generate two tests. One passes a varying of said
type as a scalar from the vertex to the tessellation control shader and one
that passes a two-element array.
Fill the varying in the vertex shader from a uniform and compare
it against the uniform in the tessellation control shader.

Draw 4 patches, tessellate each into a quad that fills a quarter of the
screen.

Also test core profile built-in varyings.
built-in-constants: Fix shader template for TCS.

Previously this tried to assign vec4 to float, and would fail there
rather than testing anything useful.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_tessellation_shader: Add tests for TCS output l-value indexing

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_tessellation_shader: Test array requirements for inputs and outputs

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_tessellation_shader: test that redeclared barrier() is unrestricted

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_tessellation_shader: split barrier-switch test

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_tessellation_shader: Add tests for gl_out[] redeclaration

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_tessellation_shader: Add test for unsized array with 2 shaders

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>