[Piglit] [PATCH V3 1/6] arb_arrays_of_arrays: test linking of interface fields

Timothy Arceri t_arceri at yahoo.com.au
Fri Jul 17 16:47:25 PDT 2015


Bumping this series.


On Sun, 2015-07-05 at 17:18 +1000, Timothy Arceri wrote:
> Test results:
> 
> AMD Radeon HD 6670 - Catalyst 14.501.1003 OpenGL 4.4
> 
> vs-to-fs-interface-field-mismatch.shader_test - fail
> vs-to-fs-interface-field-mismatch2.shader_test - fail
> vs-to-fs-interface-field-unsized-mismatch.shader_test - crash
> vs-to-fs-interface-field-unsized-mismatch2.shader_test - crash
> vs-to-fs-interface-field-unsized.shader_test - crash
> vs-to-fs-interface-field-unsized2.shader_test - crash
> 
> Nvidia GeForce 840M - NVIDIA 346.47
> 
> vs-to-fs-interface-field-mismatch.shader_test - fail
> vs-to-fs-interface-field-mismatch2.shader_test - fail
> vs-to-fs-interface-field-unsized-mismatch.shader_test - fail
> vs-to-fs-interface-field-unsized-mismatch2.shader_test - fail
> vs-to-fs-interface-field-unsized.shader_test - pass
> vs-to-fs-interface-field-unsized2.shader_test - fail
> ---
>  .../vs-to-fs-interface-field-mismatch.shader_test  | 36 +++++++++++++++++++
>  .../vs-to-fs-interface-field-mismatch2.shader_test | 36 +++++++++++++++++++
>  ...fs-interface-field-unsized-mismatch.shader_test | 36 +++++++++++++++++++
>  ...s-interface-field-unsized-mismatch2.shader_test | 37 +++++++++++++++++++
>  .../vs-to-fs-interface-field-unsized.shader_test   | 36 +++++++++++++++++++
>  .../vs-to-fs-interface-field-unsized2.shader_test  | 41 
> ++++++++++++++++++++++
>  6 files changed, 222 insertions(+)
>  create mode 100644 tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-mismatch.shader_test
>  create mode 100644 tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-mismatch2.shader_test
>  create mode 100644 tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-unsized-mismatch.shader_test
>  create mode 100644 tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-unsized-mismatch2.shader_test
>  create mode 100644 tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-unsized.shader_test
>  create mode 100644 tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-unsized2.shader_test
> 
> diff --git a/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -mismatch.shader_test b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-mismatch.shader_test
> new file mode 100644
> index 0000000..68a8217
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -mismatch.shader_test
> @@ -0,0 +1,36 @@
> +# Test for linking error when interface fields
> +# have mismatching array sizes
> +
> +[require]
> +GLSL >= 1.50
> +GL_ARB_arrays_of_arrays
> +
> +[vertex shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +out ArraysOfArraysBlock
> +{
> +  vec4 a[3][2];
> +} i;
> +
> +void main()
> +{
> +  i.a[1][1] = vec4(1.0);
> +  gl_Position = vec4(1.0);
> +}
> +
> +[fragment shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +in ArraysOfArraysBlock
> +{
> +  vec4 a[2][2];
> +} i;
> +
> +void main()
> +{
> +  gl_FragColor = i.a[1][1];
> +}
> +
> +[test]
> +link error
> diff --git a/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -mismatch2.shader_test b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-mismatch2.shader_test
> new file mode 100644
> index 0000000..a76ba52
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -mismatch2.shader_test
> @@ -0,0 +1,36 @@
> +# Test for linking error when interface fields
> +# have mismatching array sizes
> +
> +[require]
> +GLSL >= 1.50
> +GL_ARB_arrays_of_arrays
> +
> +[vertex shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +out ArraysOfArraysBlock
> +{
> +  vec4 a[3][2];
> +} i;
> +
> +void main()
> +{
> +  i.a[1][1] = vec4(1.0);
> +  gl_Position = vec4(1.0);
> +}
> +
> +[fragment shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +in ArraysOfArraysBlock
> +{
> +  vec4 a[3][4];
> +} i;
> +
> +void main()
> +{
> +  gl_FragColor = i.a[1][1];
> +}
> +
> +[test]
> +link error
> diff --git a/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized-mismatch.shader_test b/tests/spec/arb_arrays_of_arrays/linker/vs-to
> -fs-interface-field-unsized-mismatch.shader_test
> new file mode 100644
> index 0000000..76321e5
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized-mismatch.shader_test
> @@ -0,0 +1,36 @@
> +# Test for linking error between vertex and fragment shaders
> +# when interface fields are unmatching unsized arrays
> +
> +[require]
> +GLSL >= 1.50
> +GL_ARB_arrays_of_arrays
> +
> +[vertex shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +out ArraysOfArraysBlock
> +{
> +  vec4 a[][3];
> +} i;
> +
> +void main()
> +{
> +  i.a[2][2] = vec4(1.0);
> +  gl_Position = vec4(1.0);
> +}
> +
> +[fragment shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +in ArraysOfArraysBlock
> +{
> +  vec4 a[][3];
> +} i;
> +
> +void main()
> +{
> +  gl_FragColor = i.a[1][2];
> +}
> +
> +[test]
> +link error
> diff --git a/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized-mismatch2.shader_test b/tests/spec/arb_arrays_of_arrays/linker/vs
> -to-fs-interface-field-unsized-mismatch2.shader_test
> new file mode 100644
> index 0000000..12acb1e
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized-mismatch2.shader_test
> @@ -0,0 +1,37 @@
> +# Test for linking error between vertex and fragment shaders
> +# when interface fields are unmatching unsized arrays, and the interface
> +# itself is an array of arrays.
> +
> +[require]
> +GLSL >= 1.50
> +GL_ARB_arrays_of_arrays
> +
> +[vertex shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +out ArraysOfArraysBlock
> +{
> +  vec4 a[][2];
> +} i[2][2];
> +
> +void main()
> +{
> +  i[0][1].a[1][1] = vec4(1.0);
> +  gl_Position = vec4(1.0);
> +}
> +
> +[fragment shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +in ArraysOfArraysBlock
> +{
> +  vec4 a[][2];
> +} i[2][2];
> +
> +void main()
> +{
> +  gl_FragColor = i[0][1].a[0][1];
> +}
> +
> +[test]
> +link error
> diff --git a/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized.shader_test b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-unsized.shader_test
> new file mode 100644
> index 0000000..f53e932
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized.shader_test
> @@ -0,0 +1,36 @@
> +# Test for successful linking between vertex and fragment shaders
> +# when interface field is an unsized array
> +
> +[require]
> +GLSL >= 1.50
> +GL_ARB_arrays_of_arrays
> +
> +[vertex shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +out ArraysOfArraysBlock
> +{
> +  vec4 a[][3];
> +} i;
> +
> +void main()
> +{
> +  i.a[1][2] = vec4(1.0);
> +  gl_Position = vec4(1.0);
> +}
> +
> +[fragment shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +in ArraysOfArraysBlock
> +{
> +  vec4 a[][3];
> +} i;
> +
> +void main()
> +{
> +  gl_FragColor = i.a[1][2];
> +}
> +
> +[test]
> +link success
> diff --git a/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized2.shader_test b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs
> -interface-field-unsized2.shader_test
> new file mode 100644
> index 0000000..2696904
> --- /dev/null
> +++ b/tests/spec/arb_arrays_of_arrays/linker/vs-to-fs-interface-field
> -unsized2.shader_test
> @@ -0,0 +1,41 @@
> +# Test for successful linking between vertex and fragment shaders
> +# when interface field is an unsized array, and the interface
> +# itself is an array of arrays instance
> +#
> +# Note: The size of the arrays also means this tests the
> +# max boundary of GL_MAX_VERTEX_ATTRIBS when it's set
> +# to 64 (the mininum allowed for an implementation).
> +
> +[require]
> +GLSL >= 1.50
> +GL_ARB_arrays_of_arrays
> +
> +[vertex shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +out ArraysOfArraysBlock
> +{
> +  vec4 a[][2];
> +} i[2][2];
> +
> +void main()
> +{
> +  i[1][0].a[1][1] = vec4(1.0);
> +  gl_Position = vec4(1.0);
> +}
> +
> +[fragment shader]
> +#version 150
> +#extension GL_ARB_arrays_of_arrays: enable
> +in ArraysOfArraysBlock
> +{
> +  vec4 a[][2];
> +} i[2][2];
> +
> +void main()
> +{
> +  gl_FragColor = i[1][0].a[1][1];
> +}
> +
> +[test]
> +link success


More information about the Piglit mailing list