[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