[Piglit] [PATCH 2/2] gles3: Add outerProduct tests to generated_tests

Eric Anholt eric at anholt.net
Fri May 3 15:22:29 PDT 2013


Tom Gall <tom.gall at linaro.org> writes:

> GL SL ES 3.00 added outerProduct as a built in fuction.
>
> http://www.khronos.org/opengles/sdk/docs/manglsl/xhtml/outerProduct.xml
>
> Add a script which generates testcases which validate the variety
> of valid and invalid parameters that may be passed. The script
> is called as part of the generated_tests.

> diff --git a/generated_tests/outerProduct-invalid-parameters.sh b/generated_tests/outerProduct-invalid-parameters.sh
> new file mode 100755
> index 0000000..7def598
> --- /dev/null
> +++ b/generated_tests/outerProduct-invalid-parameters.sh
> @@ -0,0 +1,91 @@
> +#!/bin/bash
> +
> +function emit_vs
> +{
> +    targetdir=$1
> +    t=$2
> +
> +    echo "$targetdir/outerProduct-$t.vert"
> +    cat > $targetdir/outerProduct-$t.vert <<EOF
> +/* [config]
> + * expect_result: fail
> + * glsl_version: 3.00
> + * [end config]
> + * outerProduct is available in OpenGL SL ES 3.00 but
> + * not for all data types.

I'm confused what this means.  It sounds like you're saying ES3 does
fewer datatypes than desktop does, but the text of the two specs looks
the same to me.

> +set +x
> +
> +targetdir="spec/glsl-es-3.00/compiler/built-in-functions"
> +mkdir -p $targetdir
> +
> +for i in int float bool bvec2 bvec3 bvec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4
> +do
> +    emit_vs $targetdir $i
> +done

Ah, since there's no implicit conversions, you can test that no extra
builtin prototypes are available.  If you're interested in testing this,
it seems like you could be much more thorough by making a variant on
builtin_function.py that makes glslparsertests using invalid types for
all sorts of builtins on GLSL that bans implicit conversions.

> +for i in vec2 vec3 vec4
> +do
> +    emit_valid_vs $targetdir $i
> +done
> +emit_valid_mixed_vs $targetdir vec3 vec2
> +emit_valid_mixed_vs $targetdir vec2 vec3
> +emit_valid_mixed_vs $targetdir vec4 vec2
> +emit_valid_mixed_vs $targetdir vec4 vec3
> +emit_valid_mixed_vs $targetdir vec2 vec4
> +emit_valid_mixed_vs $targetdir vec3 vec4

These should be handled by the existing built-in-functions test
generator instead of being generated as non-executing tests by a new
"invalid-parameters" test generator
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20130503/4e8a41c4/attachment.pgp>


More information about the Piglit mailing list