glsl-1.10: test that redeclaring a variable with a different type is illegal

This passes w/ Mesa but crashes NVIDIA's driver.
fbo-drawbuffers-maxtargets: use different colors for different buffers

Before, the test always drew green rects for all the target buffers.
Now we draw a different color into each buffer to be more thorough.

Plus, replace 16 with MAX_TARGETS, add some comments, etc.

Note: the test now fails with Mesa's swrast because swrast errantly
writes the same color to all render targets.
ARB_viewport_array: Validity test for viewport index/first/count params

Tests GL_ARB_viewport_array regarding the validity for the indices.
Use both valid and invalid parameters (index, first, count) for these new
API entry points:
  glViewportArrayv, glViewportIndexedf, glViewportIndexedfv, glGetFloati_v.

Also test that writing to an invalid viewport index for Viewport, DepthRange,
Scissor Box, Scissor Test does not modify any of the state for the valid
range of indices.

Tested on Nvidia Quadro 600 all tests pass.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Validity test for depth range index/first/count params

Tests GL_ARB_viewport_array  validity for indices. Use both valid and
invalid parameters (index, first, count) for all these new API entry points:
 glDepthRangeArrayv, glDepthRangeIndexed, glGetDoublei_v.

Tested on Nvidia Quadro 600 all tests pass.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Validity test for scissor index related params

Tests GL_ARB_viewport_array  validity for indices. Use both valid and
invalid parameters (index, first, count) for these new API entry points:
  glScissorArrayv, glScissorIndexed, glScissorIndexedv.
Also test SCISSOR_TEST indices with glEnablei and others.

Tested on Nvidia Quadro 600 all test cases pass except for invalid
indices with glIsEnabledi(GL_SCISSOR_TEST,...).

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Test validity of bounds for viewport, depthRange, scissor

Tests for the validity  of Viewport bounds, Depth Range bounds  and
Scissor Box bounds  with viewport arrays (0 to GL_MAX_VIEWPORTS-1).
"Bounds" refer to the bounding rectangle or range (eg x, y, width, height).

Tested with Nvidia Quadro 600.  All tests pass except  Scissor Box  with a
negative height fails to return a gl error.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Test validity for glGetFloati_v and glGetDoublei_v

Test valid  and invalid queries using glGetFLoati_v and glGetDoublei_v.
Also test correct queries of GL_SCISSOR_TEST default value and settable values.

Tested on Nvidia Quadro 600 and all tests pass.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Test min/max values for new implementation constants

Tested GLenums are GL_MAX_VIEWPORT_DIMS, GL_MAX_VIEWPORTS,
GL_VIEWPORT_SUBPIXEL_BITS, GL_VIEWPORT_BOUNDS_RANGE, GL_LAYER_PROVOKING_VERTEX,
GL_VIEWPORT_INDEX_PROVOKING_VERTEX.

Tested on Nvidia Quadro 600, test passes.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Rendering test with multiple viewports

Tests rendering into a single framebuffer surface with multiple viewports
via a geometry shader.  Confirm that each area of the surface delineated by
a viewport renders the correct color. Use multiple draw calls to replicate
geometry rather than the geometry shader.

Tested on Nvidia Quadro 600, test passes.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Rendering test with multiple depthranges

Draws quads into a single framebuffer surface with multiple viewports
via a geometry shader.  Each different viewport has a different DepthRange.
The fragment shader outputs a color based on the depthRange, z, and viewport
index. Confirm that each quad has the correct color and therefore has
the correct depthRange for that viewport index.

Tested on Nvidia Quadro 600, test passes.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: Rendering test with multiple scissor rectangles/enables

Tests rendering into a single framebuffer surface with multiple viewports
via a geometry shader.  Scissoring is used to restrict quads to a smaller
area on the surface.  Confirm that each area of the surface delineated by
a scissor rectangle for viewport index renders the correct color. Both
indexed scissor tests and indexed scissor enables  are used. Geometry
shader is used to expand a single rectangle primitve to N rectangles.

Tested on Nvidia Quadro 600, test passes.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Jon Ashburn <jon@lunarg.com>
ARB_viewport_array: rename 'near' and 'far' vars for Windows
framework/dmesg: Adds a new module for dmesg

This class implements a class for reading dmesg, including a dummy class
for running on non-posix systems. It works as a class, and is cleaner
than the current implementation.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
dmesg: USe the dmesg class instead of the dmesg functions

This requires some minor changes, since the dmesg class returns either
None or [] (which are both falsy instances) instead of '' when not
giving a dmesg warning.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>