[Piglit] [PATCH 2/2] variable-index-write.sh: extend to support glsl es 1.00

Tom Gall tom.gall at linaro.org
Thu Mar 28 12:03:38 PDT 2013


On Thu, Mar 28, 2013 at 1:50 PM, Stuart Abercrombie
<sabercrombie at google.com> wrote:
> 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.

It's probably quite safe to say that a GLSL 1.00 will never happen and
that GLSL 1.00 will always mean GLSL ES 1.00.

I hate to drive from 100 by adding a 100es or something but I can see
the case for it.

> A separate preexisting issue is the location of the file, which is again
> misleading.

Yes these need to move. I think that's a separate patch and plan to
submit that as well.

Likewise the files that these scripts generate need to be deleted from
git and then a little bit of script added so that at build time all
these tests are generated in their respective glsl-xx-x.xx
directories.  I think that's a separate patch and also I plan to do
it.

> 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
>
>



--
Regards,
Tom

"Where's the kaboom!? There was supposed to be an earth-shattering
kaboom!" Marvin Martian
Tech Lead, Graphics Working Group | Linaro.org │ Open source software
for ARM SoCs
w) tom.gall att linaro.org
h) tom_gall att mac.com


More information about the Piglit mailing list