summary-html: Add Environment to HTML pages

Specifically for glean tests setting certain environment variables are
needed to run a certain subtest in glean. This patch prints that in the
HTML results.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
framework: use os.path instead of manual path management

Working with paths is hard, and we don't always do it right. Instead of
trying to be perfect, just use python's os.path module to do all of the
hard work for us

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
glsl-1.10: Delete bogus generated test.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
shaders: Remove #version from glsl-const tests.

Also basically a revert of 6533d757 to make the cosh test match.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
shaders: Stop using ortho in glsl-const tests.

Scripted with sed with fix ups to
 - not - actually writes .w component, so probe rgba.
 - reflect - writes const 1.0 .w component, so probe rgb.
 - cosh - writes const 1.0 .w component, and used probe rgb with 4
   components, so drop the .w from the probe.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl-1.10 / glsl-1.20: Print generated variable-index test names.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
glsl-1.20: Print generated outerProduct test names.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
ext_framebuffer_multisample: Initialize Test::filter_mode.

Fixes "Uninitialized scalar field" reported by Coverity.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
fbo-blit-scaled-linear: Require GLSL 1.30.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
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>