[Piglit] [PATCH 2/2] variable-index-write.sh: extend to support glsl es 1.00
Stuart Abercrombie
sabercrombie at google.com
Thu Mar 28 11:50:52 PDT 2013
The content looks good. I'm just not sure if supplying 100 as a parameter
should be the trigger for GLES GLSL 1.00. It doesn't seem particularly
obvious, although I know there is no regular GL GLSL version 1.00.
A separate preexisting issue is the location of the file, which is again
misleading.
Stuart
On Wed, Mar 20, 2013 at 3:15 PM, Tom Gall <tom.gall at linaro.org> wrote:
> From tests/spec/glsl-1.10 extend variable-index-write.sh so that
> it can also correctly generates variable index write tests that
> support glsl-es-1.00.
>
> 1.00 added as a valid parameter to generated tests for glsl-es-1.00.
>
> For 1.00 tests in the vertex shader an orthographic projection is
> applied since ortho during the test portion isn't supported on
> OpenGL ES.
>
> For 1.00 tests the fragent shader specifies default precision.
>
> For 1.00 tests emit in the [require] section the correct
> GLSL ES and GL ES settings.
>
> Signed-off-by: Tom Gall <tom.gall at linaro.org>
> ---
> tests/spec/glsl-1.10/variable-index-write.sh | 67
> +++++++++++++++++++++++---
> 1 file changed, 61 insertions(+), 6 deletions(-)
>
> diff --git a/tests/spec/glsl-1.10/variable-index-write.sh
> b/tests/spec/glsl-1.10/variable-index-write.sh
> index 96a4791..06802c4 100755
> --- a/tests/spec/glsl-1.10/variable-index-write.sh
> +++ b/tests/spec/glsl-1.10/variable-index-write.sh
> @@ -177,6 +177,10 @@ function emit_fs
> fi
>
> echo "[fragment shader]"
> + if [ $v -eq 100 ]; then
> + echo "precision highp float;"
> + echo "precision highp int;"
> + fi
>
> emit_globals $*
>
> @@ -207,14 +211,24 @@ function emit_test_vectors
> index_value=$4
> col=$5
> value_type=$6
> + v=${version/./}
>
> - cat <<EOF
> + if [ "$v" -eq 100 ]; then
> + cat <<EOF
> +[test]
> +clear color 0.5 0.5 0.5 0.5
> +clear
> +
> +EOF
> + else
> + cat <<EOF
> [test]
> clear color 0.5 0.5 0.5 0.5
> clear
> ortho
>
> EOF
> + fi
>
> # NOTE: shader_runner uses the matCxR names even for GLSL 1.10
> type="mat${matrix_dim}x${matrix_dim}"
> @@ -321,15 +335,37 @@ EOF
>
> function emit_fs_wr_test
> {
> + v=${version/./}
> +
> echo "# Test generated by:"
> echo "# ${cmd}"
> echo
> echo "[require]"
> - echo "GLSL >= ${version}"
> + if [ "$v" -eq 100 ]; then
> + echo "GLSL ES >= ${version}"
> + echo "GL ES >= 2.0"
> + else
> + echo "GLSL >= ${version}"
> + fi
> echo
>
> echo "[vertex shader]"
> - echo "void main() { gl_Position = gl_ModelViewProjectionMatrix *
> gl_Vertex; }"
> + if [ "$v" -eq 100 ]; then
> + echo "attribute vec4 vertex;"
> + echo "mat4 projection = mat4("
> + echo " 2.0/250.0, 0.0, 0.0, -1.0,"
> + echo " 0.0, 2.0/250.0, 0.0, -1.0,"
> + echo " 0.0, 0.0, -1.0, 0.0,"
> + echo " 0.0, 0.0, 0.0, 1.0);"
> + echo
> + echo "void main()"
> + echo "{"
> + echo " gl_Position = vertex;"
> + echo " gl_Position *= projection;"
> + echo "}"
> + else
> + echo "void main() { gl_Position = gl_ModelViewProjectionMatrix *
> gl_Vertex; }"
> + fi
> echo
>
> emit_fs $*
> @@ -342,20 +378,39 @@ function emit_vs_wr_test
> matrix_dim=$1
> array_dim=$2
> mode=$3
> + v=${version/./}
>
> echo "# Test generated by:"
> echo "# ${cmd}"
> echo
> echo "[require]"
> - echo "GLSL >= ${version}"
> + if [ "$v" -eq 100 ]; then
> + echo "GLSL ES >= ${version}"
> + echo "GL ES >= 2.0"
> + else
> + echo "GLSL >= ${version}"
> + fi
> echo
>
> echo "[vertex shader]"
> + if [ "$v" -eq 100 ]; then
> + echo "attribute vec4 vertex;"
> + echo "mat4 projection = mat4("
> + echo " 2.0/250.0, 0.0, 0.0, -1.0,"
> + echo " 0.0, 2.0/250.0, 0.0, -1.0,"
> + echo " 0.0, 0.0, -1.0, 0.0,"
> + echo " 0.0, 0.0, 0.0, 1.0);"
> + fi
> emit_globals $*
>
> echo "void main()"
> echo "{"
> - echo " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;"
> + if [ "$v" -eq 100 ]; then
> + echo " gl_Position = vertex;"
> + echo " gl_Position *= projection;"
> + else
> + echo " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;"
> + fi
> echo
>
> emit_set_matrix $*
> @@ -387,7 +442,7 @@ if [ "x$1" = "x" ]; then
> version="1.10"
> else
> case "$1" in
> - 1.[12]0) version="$1";;
> + 1.[012]0) version="$1";;
> *)
> echo "Bogus GLSL version \"$1\" specified."
> exit 1
> --
> 1.7.10.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20130328/f4167343/attachment-0001.html>
More information about the Piglit
mailing list