Re-import the current gl.spec files, unmodified.
Import the current enum.spec file.

This will replace the use of enumext.spec, adding support for GLES
extensions without us having to manually add them to the file.
Import the current GLES2/3 core/extension headers.

This will be used in upcoming piglit-dispatch generation for GLES2/3,
since there's no corresponding gl.spec file for them.
Merge branch 'glspec-upstream' into master

This manually preserves the local changes we've had in gl.spec.  By
committing upstream versions to glspec-upstream and merging it to
master in the future, nobody should have to hand-resolve changes
unless Khronos changes those specific extensions.

The one new change here is the addition of GLfixed to
piglit-dispatch.h, to support new OES extensions.
ARB_fp: invert expected result for duplicate precision hint tests

The ARB_fragment_program spec, 3.11.4.5.2 says:

    "Only one precision control option may be specified by any given
    fragment program.  A fragment program that specifies both the
    "ARB_precision_hint_fastest" and "ARB_precision_hint_nicest"
    program options will fail to load.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
array-of-struct-of-array: Added indexing operator to array.

The GLSL 1.2 spec says: "Arrays can also [be] accessed with the method operator
( . ) and the length method to query the size of the array:".

It doesn't say that members of arrays of structs can be accessed with the method
operator even if the dereference is only used to access the length method of a
nested array.

Reviewed-by: Matt Turner <mattst88@gmail.com>
array-size-sequence-in-parenthesis: Invert expected result.

The test incorectly stated that (5, 3) is not a grammatically correct
constant_expression.

According to the GLSL 1.20 spec this is possible like so:

constant_expression:
    conditional_expression: <---------------------------------------+
        [a bunch of logical & arithmetic binary expressions]:       |
            unary_expression:                                       |
                postfix_expression:                                 |
                    primary_expression:                             |
                        '(' expression ')' ------+                  |
                        INTCONSTANT              |                  |
                                                 |                  |
  +----------------------------------------------+                  |
  |                                                                 |
  V                                                                 |
expression:                                                         |
    assignment_expression                                           |
    expression ',' assignment_expression                            |
                                                                    |
assignment_expression:                                              |
    conditional_expression  ----------------------------------------+

Invert expected result of test and check that correct operand of comma
operator is discarded.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Merge branch 'merge-glspec' into HEAD
triangle-rasterization: Add multiple possible filling conventions.

The OpenGL specification doesn't guarantee a particular filling convention.
Indeed, the filling convention isn't even required to be consistent.

The only requirements are:
    The rasterization has to be invariant under pixel translation.

    If two triangles share two vertices with the common edge on a fragment
    center and the respective third vertices on either side of that edge,
    exactly one triangle produces the fragment.

Note that with this patch the test is still to strict in that it requires a
single consistent filling convention.
sparse-samplers: Increase precision of expected color.

The expected green and blue channels at the probed pixel are 0.51. with the
previous approximated value of 0.5 and the default absolute piglit tolerance of
0.01 the expected value was on the edge of the tolerated range.