[Piglit] [PATCH 0/23] Port glsl1 Glean test to Piglit
Fabian Bieler
fabianbieler at fastmail.fm
Thu Nov 23 20:44:28 UTC 2017
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.
-------------- next part --------------
# 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
More information about the Piglit
mailing list