glsl-1.10: Test reductions of integer vectors

Mesa has an optimization that converts expressions like "v.x + v.y + v.z
+ v.w" into dot(v, 1.0).  And therein lies the rub: the other operand to
the dot-product is always a float... even if the vector is an ivec or
uvec.  The result is not pretty:

    shader_runner: ../../src/glsl/ir_builder.cpp:257: ir_expression* ir_builder::dot(ir_builder::operand, ir_builder::operand): Assertion `a.val->type == b.val->type' failed.
    Aborted (core dumped)

This was fixed on Mesa master by commit 316dafa.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
framework: allow loading a piglit.conf from more locations

With this patch piglit.conf can live in a number of different places. It
can live in the current directory, then in XDG_CONFIG_HOME
($HOME/.config by default), and finally in the piglit source directory.

v2: - fix types (chadv)
    - change load order to make ./.piglit.conf load first (chadv)
    - Add framework tests
v3: - fix external integration tests
    - fix comment about loading order

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
xts.py: Use piglit.conf to set suite location instead of symlink

Instead of symlinking a directory into bin/ for xts, edit the path entry
under the xts section to point at the root xts directory.

v2: - replace config file key 'bindir' with 'path' (chadv)

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
igt: use piglit.conf instead of a symlink

Instead of symlinking igt into the bin/ directory, edit piglit.conf and
set the path key in the igt section to the root of intel-gpu-tools

v2: - change config key 'bindir' to 'path' (chadv)

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
oglconform.py: Use config file instead of symlink

Instead of symlinking oglconform into the bin/ dir, edit piglit.conf and
set the path key under the oglconform to the root of the oglconform dir.

v2: - change config key 'bindir' to 'path' (chadv)

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
arb_blend_func_extended: require GL 3.0

Since the test shaders require GLSL 1.30
arb_provoking_vertex/xfb-before-flatshading: use default window size

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
clipflat: fix 0/2 index typo

Spotted by Meng-Lin Wu.

Reviewed-by: Matthew McClure <mcclurem@vmware.com>
tests/all.py: Fix built-in-constants* tests to use fullpath to shaders.

The built-in-constants tests have been crashing for me due to them not
passing the full path as do other tests.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dylan Baker <baker.dylan.c@gmail.com>
shader_runner: Set uniform block bindings for multiple UBOs

glLinkProgram (re)sets all uniform block bindings to zero. If we want
to actually use multiple uniform blocks, we need to call
glUniformBlockBinding to specify which binding point goes with which
uniform block.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Remove tests/shaders/link-mismatch-layout-0[13]

These date back to a time before shader_runner was capable of testing
this case. Now redundant.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Replace link-mismatch-layout-02 with shader tests

This is an old test from before shader_runner could express multi-shader
cases, and a little broken.

Replace it with shader_tests which exercise the linker.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
tex-miplevel-selection: test all variants of textureLod
all.py: mark old tex-miplevel-selection tests as concurrent
tex-level-selection: deduplicate code, improve output
tex-miplevel-selection: test all variants of texture() with bias
tex-miplevel-selection: test all variants of textureOffset
tex-miplevel-selection: test all variants of textureOffset with bias

+ some bug fixes
tex-miplevel-selection: test all variants of textureProj
tex-miplevel-selection: test all variants of textureProj with bias