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 -- 2.1.0 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit