This series replaces the "glsl1" Glean test with some Piglit tests.

Most tests were replaced by shader_runner tests.

The tests for built-in-uniform state were extended.

Some of the preprocessor tests were modified to make them stricter.

To port some texture tests shader_runner had to be extended with
"texture rgbw 1D" and "texture rgbw 3D" commands.
These (and the underlying piglit-util-functions) are very basic and
don't allow for variable texture size or pixel format. If desired, I can
remedy that.

Some tests ("Global vars and initializers", "Global vars and
initializers (2)", "Swizzle", "Writemask") are pretty trivial. I doubt
they would break without some existing, more complex Piglit test
failing, too. However, I opted to port them regardless since I couldn't
find an existing simple Piglit test for the feature in question.

Attached is a list of all Glean GLSL subtests with the location of the
new or existing Piglit test that replaces it.

Patch 23 fixes an unrelated test.
# Simple tests
Primary plus secondary color                            exist   
general/attribs.c, shaders/glsl-routing.c
Global vars and initializers                            new     
spec/glsl-1.10/execution/global-vars-and-initializers.shader_test
Global vars and initializers (2)                        new     
spec/glsl-1.10/execution/global-vars-and-initializers-expression.shader_test
# Swizzle, writemask
Swizzle                                                 new     
spec/glsl-1.10/execution/swizzle.shader_test
Swizzle (rgba)                                          new     
spec/glsl-1.10/execution/swizzle-rgba.shader_test
Swizzle (stpq)                                          new     
spec/glsl-1.10/execution/swizzle-stpq.shader_test
Writemask                                               new     
spec/glsl-1.10/execution/writemask.shader_test
Swizzled writemask                                      new     
spec/glsl-1.10/execution/swizzled-writemask.shader_test
Swizzled writemask (2)                                  new     
spec/glsl-1.10/execution/swizzled-writemask-split.shader_test
Swizzled writemask (rgba)                               new     
spec/glsl-1.10/execution/swizzled-writemask-rgba.shader_test
Swizzled writemask (stpq)                               new     
spec/glsl-1.10/execution/swizzled-writemask-stpq.shader_test
Swizzled expression                                     new     
spec/glsl-1.10/execution/swizzled-expression.shader_test
Swizzle in-place                                        exits   
shaders/glsl-fs-swizzle-1.shader_test
Swizzled swizzle                                        exits   
spec/glsl-1.10/execution/vs-swizzle-swizzle-rhs.shader_test
Swizzled swizzled swizzle                               new     
spec/glsl-1.10/execution/swizzled-swizzled-swizzle.shader_test
# Z-write
gl_FragDepth writing                                    exist   
spec/glsl-1.10/execution/fragdepth.c
# Basic arithmetic
chained assignment                                      new     
spec/glsl-1.10/execution/chained-assignment.shader_test
# built-in functions
cross() function, in-place                              exist   
shaders/glsl-fs-cross-2.shader_test, shaders/glsl-vs-cross-2.shader_test, 
shaders/glsl-vs-cross.shader_test
# Flow Control
sequence (comma) operator                               new     
spec/glsl-1.10/execution/sequence-operator.shader_test
# Logic operators
&& operator, short-circuit                              new     
spec/glsl-1.10/execution/and-operator-short-circuit.shader_test
|| operator, short-circuit                              new     
spec/glsl-1.10/execution/or-operator-short-circuit.shader_test
# GL state refs
GL state variable reference (gl_FrontMaterial.ambient)  new     
spec/glsl-1.10/execution/built-in-uniform-state.c
GL state variable reference (gl_LightSource[0].diffuse) new     
spec/glsl-1.10/execution/built-in-uniform-state.c
GL state variable reference (diffuse product)           new     
spec/glsl-1.10/execution/built-in-uniform-state.c
GL state variable reference (point size)                new     
spec/glsl-1.10/execution/built-in-uniform-state.c
GL state variable reference (point attenuation)         new     
spec/glsl-1.10/execution/built-in-uniform-state.c
linear fog                                              new     
spec/glsl-1.10/execution/linear-fog.c
built-in constants                                      new     
spec/glsl-1.10/execution/built-in-constants.shader_test
# Texture functions
texture2D()                                             exist   
shaders/glsl-fs-texture2d.shader_test
texture2D(), computed coordinate                        new     
spec/glsl-1.10/execution/texture2D-computed-coordinate.shader_test
texture2D(), with bias                                  exist   
shaders/glsl-fs-texture2d-bias.shader_test
2D Texture lookup with explicit lod (Vertex shader)     exist   
shaders/glsl-fs-texturelod-01.shader_test
texture2DProj()                                         exist   
shaders/glsl-fs-texture2dproj.shader_test
texture1D()                                             new     
spec/glsl-1.10/execution/texture1D.shader_test
texture3D()                                             new     
spec/glsl-1.10/execution/texture3D.shader_test
texture3D(), computed coord                             new     
spec/glsl-1.10/execution/texture3D-computed-coord.shader_test
shadow2D(): 1                                           exist   
spec/glsl-1.10/execution/samplers/glsl-fs-shadow2D-*.shader_test
shadow2D(): 2                                           exist   
spec/glsl-1.10/execution/samplers/glsl-fs-shadow2D-*.shader_test
shadow2D(): 3                                           exist   
spec/glsl-1.10/execution/samplers/glsl-fs-shadow2D-*.shader_test
shadow2D(): 4                                           exist   
spec/glsl-1.10/execution/samplers/glsl-fs-shadow2D-*.shader_test
# Function calls
nested function calls (1)                               new     
spec/glsl-1.10/execution/nested-function-calls.shader_test
nested function calls (2)                               exist   
shaders/glsl-fs-functions-3.shader_test
nested function calls (3)                               new     
spec/glsl-1.10/execution/nested-function-calls-same-function.shader_test
TPPStreamCompiler::assignOperands                       new     
spec/glsl-1.10/compiler/struct/assign-immediata-to-const.frag
# Matrix tests
matrix column check (1)                                 new     
spec/glsl-1.10/execution/built-in-matrix-state.c
matrix column check (2)                                 new     
spec/glsl-1.10/execution/built-in-matrix-state.c
matrix, vector multiply (1)                             new     
spec/glsl-1.10/execution/matrix-vector-multiply-scale.shader_test
matrix, vector multiply (2)                             new     
spec/glsl-1.10/execution/matrix-vector-multiply-rhs.shader_test
matrix, vector multiply (3)                             new     
spec/glsl-1.10/execution/matrix-vector-multiply-lhs.shader_test
uniform matrix                                          new     
spec/glsl-1.10/execution/uniform-matrix.shader_test
uniform matrix, transposed                              new     
spec/glsl-1.10/execution/uniform-matrix-transposed.c
# Struct tests
struct (1)                                              new     
spec/glsl-1.10/execution/struct-multiple-instances.shader_test
struct (2)                                              new     
spec/glsl-1.10/execution/struct-array.shader_test
struct (3)                                              new     
spec/glsl-1.10/execution/struct.shader_test
struct (4)                                              new     
spec/glsl-1.10/execution/struct-nested.shader_test
# Preprocessor tests
Preprocessor test 1 (#if 0)                             new     
spec/glsl-1.10/preprocessor/if-0.shader_test
Preprocessor test 2 (#if 1)                             new     
spec/glsl-1.10/preprocessor/if-1.shader_test
Preprocessor test 3 (#if ==)                            new     
spec/glsl-1.10/preprocessor/if-eq.shader_test
Preprocessor test 4 (#if 1, #define macro)              new     
spec/glsl-1.10/preprocessor/if-1-define-macro.shader_test
Preprocessor test 5 (#if 1, #define macro)              new     
spec/glsl-1.10/preprocessor/if-1-define-nested-macro.shader_test
Preprocessor test 6 (#if 0, #define macro)              new     
spec/glsl-1.10/preprocessor/if-0-define-macro.shader_test
Preprocessor test 7 (multi-line #define)                new     
spec/glsl-1.10/preprocessor/multi-line-define.shader_test
Preprocessor test 8 (#ifdef)                            new     
spec/glsl-1.10/preprocessor/ifdef.shader_test
Preprocessor test 9 (#ifndef)                           new     
spec/glsl-1.10/preprocessor/ifndef.shader_test
Preprocessor test 10 (#if defined())                    new     
spec/glsl-1.10/preprocessor/if-defined.shader_test
Preprocessor test 11 (#elif)                            new     
spec/glsl-1.10/preprocessor/elif-1.shader_test
Preprocessor test 12 (#elif)                            new     
spec/glsl-1.10/preprocessor/elif-2.shader_test
Preprocessor test 13 (nested #if)                       new     
spec/glsl-1.10/preprocessor/nested-if-1.shader_test
Preprocessor test 14 (nested #if)                       new     
spec/glsl-1.10/preprocessor/nested-if-2.shader_test
Preprocessor test 15 (nested #if, #elif)                new     
spec/glsl-1.10/preprocessor/nested-if-elif.shader_test
Preprocessor test (extension test 1)                    new     
spec/glsl-1.10/preprocessor/extension-defined.shader_test
Preprocessor test (extension test 2)                    new     
spec/glsl-1.10/preprocessor/extension-if-1.shader_test
Preprocessor test (extension test 3)                    new     
spec/glsl-1.10/preprocessor/bogus-extension-test.frag
Preprocessor test (11)                                  new     
spec/glsl-1.10/preprocessor/not-defined.shader_test
# Illegal shaders
undefined variable                                      new     
spec/glsl-1.10/compiler/undefined-variable.frag
if (boolean-scalar) check                               new     
spec/glsl-1.10/compiler/if-boolean-scalar-check.frag
break with no loop                                      new     
spec/glsl-1.10/compiler/break-with-no-loop.frag
continue with no loop                                   new     
spec/glsl-1.10/compiler/continue-with-no-loop.frag
illegal assignment                                      new     
spec/glsl-1.10/compiler/illegal-assignment.frag
syntax error check (1)                                  new     
spec/glsl-1.10/compiler/two-immediate-float-constant-without-operator.frag
syntax error check (2)                                  new     
spec/glsl-1.10/compiler/main-without-return-type.frag
syntax error check (3)                                  new     
spec/glsl-1.10/compiler/assignment-without-rhs.frag
TIntermediate::addUnaryMath                             new     
spec/glsl-1.10/compiler/undefined-variable-in-selection-operator.frag
# Other new GLSL 1.20, 1.30 features (just parse/compile tests)
GLSL 1.30 precision qualifiers                          new     
spec/glsl-1.30/compiler/precision-qualifiers/multiple-precision-float.frag
GLSL 1.20 invariant, centroid qualifiers                new     
spec/glsl-1.20/compiler/qualifiers/multiple-invariant-centroid-vec4.frag
# Check behaviour of inf/nan
Divide by zero                                          dropped was commented 
out in glean
# Illegal link test
gl_Position not written check                           new     
spec/glsl-1.10/linker/gl_Position-not-written-check.shader_test
varying var mismatch                                    new     
spec/glsl-1.10/linker/varying-var-mismatch.shader_test
varying read but not written                            new     
spec/glsl-1.10/linker/varying-read-but-not-written.shader_test
texcoord varying                                        new     
spec/glsl-1.10/linker/texcoord-varying.shader_test
_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to