On 02/20/2016 03:38 AM, Andres Gomez wrote:
> Double and float derived types also need explicit
> conversions.
> 
> Signed-off-by: Andres Gomez <[email protected]>
> ---
>  .../gen_constant_array_size_tests_fp64.py          |  2 +-
>  .../compiler/double-loop-iterator.vert             |  4 +--
>  .../compiler/implicit-conversion-bad.vert          | 30 
> ----------------------
>  .../compiler/implicit-conversion-double-float.vert | 20 +++++++++++++++
>  .../compiler/implicit-conversion-dvec2-vec2.vert   | 20 +++++++++++++++
>  .../compiler/implicit-conversion-dvec3-vec3.vert   | 20 +++++++++++++++
>  .../compiler/implicit-conversion-dvec4-vec4.vert   | 20 +++++++++++++++

I'd like to see "bad" in the names of these tests.  It makes it a little
more obvious which result is expected.  Either way, this series is

Reviewed-by: Ian Romanick <[email protected]>

>  .../execution/check-explicit-location.c            |  2 +-
>  8 files changed, 84 insertions(+), 34 deletions(-)
>  delete mode 100644 
> tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-bad.vert
>  create mode 100644 
> tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-double-float.vert
>  create mode 100644 
> tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec2-vec2.vert
>  create mode 100644 
> tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec3-vec3.vert
>  create mode 100644 
> tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec4-vec4.vert
> 
> diff --git a/generated_tests/gen_constant_array_size_tests_fp64.py 
> b/generated_tests/gen_constant_array_size_tests_fp64.py
> index fb9d801..72407c6 100644
> --- a/generated_tests/gen_constant_array_size_tests_fp64.py
> +++ b/generated_tests/gen_constant_array_size_tests_fp64.py
> @@ -165,7 +165,7 @@ class ParserTest(object):
>              shader += '  double[{0} ? 1 : -1] array{1};\n'.format(
>                  self.make_condition(test_vector), i)
>              lengths.append('array{0}.length()'.format(i))
> -        shader += '  {0} = dvec4({1});\n'.format(
> +        shader += '  {0} = vec4({1});\n'.format(
>              self.output_var(), ' + '.join(lengths))
>          shader += '}\n'
>          return shader
> diff --git 
> a/tests/spec/arb_gpu_shader_fp64/compiler/double-loop-iterator.vert 
> b/tests/spec/arb_gpu_shader_fp64/compiler/double-loop-iterator.vert
> index 7756c8b..9c691f0 100644
> --- a/tests/spec/arb_gpu_shader_fp64/compiler/double-loop-iterator.vert
> +++ b/tests/spec/arb_gpu_shader_fp64/compiler/double-loop-iterator.vert
> @@ -12,11 +12,11 @@
>  void test() {
>  
>       double k;
> -     vec4 vertex;
> +     dvec4 vertex;
>  
>       for (k = 0.0lf; k < 1.0lf; k += 0.1lf) {
>               vertex.x += k;
>       }
>  
> -     gl_Position = vertex;
> +     gl_Position = vec4(vertex);
>  }
> diff --git 
> a/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-bad.vert 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-bad.vert
> deleted file mode 100644
> index 95b85c8..0000000
> --- a/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-bad.vert
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -// [config]
> -// expect_result: fail
> -// glsl_version: 1.50
> -// require_extensions: GL_ARB_gpu_shader_fp64
> -// [end config]
> -//
> -// Test double -> float implicit conversion doesn't happen
> -// this tests a bug in mesa
> -
> -#version 150
> -#extension GL_ARB_gpu_shader_fp64 : enable
> -
> -float _float = 0.0f;
> -vec2 _vec2 = vec2(0.0f);
> -vec3 _vec3 = vec3(0.0f);
> -vec4 _vec4 = vec4(0.0f);
> -
> -double _double = 0.0lf;
> -dvec2 _dvec2 = dvec2(0.0lf);
> -dvec3 _dvec3 = dvec3(0.0lf);
> -dvec4 _dvec4 = dvec4(0.0lf);
> -
> -void test() {
> -
> -     /* int can be converted to double (and for vectors of same) */
> -     _float = _double;
> -     _vec2 = _dvec2;
> -     _vec3 = _dvec3;
> -     _vec4 = _dvec4;
> -}
> diff --git 
> a/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-double-float.vert
>  
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-double-float.vert
> new file mode 100644
> index 0000000..3e2b15a
> --- /dev/null
> +++ 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-double-float.vert
> @@ -0,0 +1,20 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 1.50
> +// require_extensions: GL_ARB_gpu_shader_fp64
> +// [end config]
> +//
> +// Test double -> float implicit conversion doesn't happen
> +
> +#version 150
> +#extension GL_ARB_gpu_shader_fp64 : enable
> +
> +float _float = 0.0f;
> +
> +double _double = 0.0lf;
> +
> +void test() {
> +
> +    /* double cannot be converted to float (and for vectors of same) */
> +    _float = _double;
> +}
> diff --git 
> a/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec2-vec2.vert 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec2-vec2.vert
> new file mode 100644
> index 0000000..225636d
> --- /dev/null
> +++ 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec2-vec2.vert
> @@ -0,0 +1,20 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 1.50
> +// require_extensions: GL_ARB_gpu_shader_fp64
> +// [end config]
> +//
> +// Test double -> float implicit conversion doesn't happen
> +
> +#version 150
> +#extension GL_ARB_gpu_shader_fp64 : enable
> +
> +vec2 _vec2 = vec2(0.0f);
> +
> +dvec2 _dvec2 = dvec2(0.0lf);
> +
> +void test() {
> +
> +    /* double cannot be converted to float (and for vectors of same) */
> +    _vec2 = _dvec2;
> +}
> diff --git 
> a/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec3-vec3.vert 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec3-vec3.vert
> new file mode 100644
> index 0000000..cf8583e
> --- /dev/null
> +++ 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec3-vec3.vert
> @@ -0,0 +1,20 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 1.50
> +// require_extensions: GL_ARB_gpu_shader_fp64
> +// [end config]
> +//
> +// Test double -> float implicit conversion doesn't happen
> +
> +#version 150
> +#extension GL_ARB_gpu_shader_fp64 : enable
> +
> +vec3 _vec3 = vec3(0.0f);
> +
> +dvec3 _dvec3 = dvec3(0.0lf);
> +
> +void test() {
> +
> +    /* double cannot be converted to float (and for vectors of same) */
> +    _vec3 = _dvec3;
> +}
> diff --git 
> a/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec4-vec4.vert 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec4-vec4.vert
> new file mode 100644
> index 0000000..dd394e5
> --- /dev/null
> +++ 
> b/tests/spec/arb_gpu_shader_fp64/compiler/implicit-conversion-dvec4-vec4.vert
> @@ -0,0 +1,20 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 1.50
> +// require_extensions: GL_ARB_gpu_shader_fp64
> +// [end config]
> +//
> +// Test double -> float implicit conversion doesn't happen
> +
> +#version 150
> +#extension GL_ARB_gpu_shader_fp64 : enable
> +
> +vec4 _vec4 = vec4(0.0f);
> +
> +dvec4 _dvec4 = dvec4(0.0lf);
> +
> +void test() {
> +
> +    /* double cannot be converted to float (and for vectors of same) */
> +    _vec4 = _dvec4;
> +}
> diff --git 
> a/tests/spec/arb_vertex_attrib_64bit/execution/check-explicit-location.c 
> b/tests/spec/arb_vertex_attrib_64bit/execution/check-explicit-location.c
> index 599ac8a..509f60b 100644
> --- a/tests/spec/arb_vertex_attrib_64bit/execution/check-explicit-location.c
> +++ b/tests/spec/arb_vertex_attrib_64bit/execution/check-explicit-location.c
> @@ -50,7 +50,7 @@ const char *vs_text =
>       "flat out dvec4 fscolor;\n"
>       "void main()\n"
>       "{\n"
> -     "gl_Position = vertex;\n"
> +     "gl_Position = vec4(vertex);\n"
>       "fscolor = vcolor;\n"
>       "}\n";
>  
> 

_______________________________________________
Piglit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to