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