glsl-1.20: test implicitly sized arrays match explicitly sized arrays across the same stage

V2: Add Catalyst test results

Test results:

AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3

intrastage-unsized-array-mismatch.shader_test
AMD: pass

intrastage-unsized-array-mismatch2.shader_test
AMD: pass

intrastage-unsized-array.shader_test
AMD: fail

intrastage-unsized-array2.shader_test
AMD: pass

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
arb_arrays_of_arrays: linker tests

V2: add alternate version of unsized-mismatch test and fix
comment describing negitive test as a positive test

Test results:

AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3

vs-to-fs-dimension-size-mismatch.shader_test
AMD: crash

vs-to-fs-dimensions-mismatch.shader_test
AMD: crash

vs-to-fs-interface-field.shader_test
AMD: pass

vs-to-fs-interface.shader_test
AMD: pass

vs-to-fs-struct-field.shader_test
AMD: pass

vs-to-fs-struct.shader_test
AMD: pass

vs-to-fs-type-mismatch.shader_test
AMD: crash

vs-to-fs-unsized-mismatch.shader_test
AMD: fail

vs-to-fs-unsized-mismatch2.shader_test
AMD: crash

vs-to-fs-unsized.shader_test
AMD: pass

vs-to-fs.shader_test
AMD: pass

vs-to-gs-invalid-dimensions.shader_test
AMD: crash

vs-to-gs.shader_test
AMD: crash

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
arb_arrays_of_arrays: linker intrastage tests

Test results:

AMD Radeon HD 6670 - Catalyst 13.251 OpenGL 4.3

intrastage-dimension-size-mismatch.shader_test
AMD: pass

intrastage-interface-field.shader_test
AMD: pass

intrastage-interface.shader_test
AMD: pass

intrastage-struct-field.shader_test
AMD: pass

intrastage-struct.shader_test
AMD: pass

intrastage-unsized-mismatch.shader_test
AMD: pass

intrastage-unsized-mismatch2.shader_test
AMD: pass

intrastage-unsized.shader_test
AMD: pass

intrastage.shader_test
AMD: pass

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
grouptools.py: Add a module specifically for working with group strings

This module is largely just posixpath (sometimes the functions are
renamed), with a couple of unique functions, which are basically
wrappers around posixpath functions with some special exceptions. Having
and using the module presents the advantage of being able to change the
implementation, including how the groups are manipulated. It also is
clearer than working with posixpath directly.

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
summary.py: use grouptools instead of os.path

Using grouptools helps to lower confusion about what's a group and
what's a path.

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
profile.py: use grouptools
glsl_parser_test.py: use grouptools

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
junit.py: Use grouptools

This makes it clear that we're working with groups and not paths.

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
igt.py: Use grouptools

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
xts.py: USe grouptools module and os.path appropriately

use grouptools when working with groups, and os.path only when working
with actual directory paths.

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
oglconform.py: Use grouptools instead of os.path

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
oclconform.py: use grouptools module

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
opencv.py: use grouptools module

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>