[Piglit] [PATCH] arb_bindless_texture: add new compiler tests for struct with image arrays

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Jun 5 14:34:43 UTC 2017


ping?

On 05/25/2017 08:02 PM, Samuel Pitoiset wrote:
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>   .../nested-struct-arrays-mismatch-format.frag      | 27 ++++++++++++++++++++
>   .../nested-struct-with-arrays-no-qualifiers.frag   | 29 ++++++++++++++++++++++
>   .../images/struct-with-arrays-mismatch-format.frag | 22 ++++++++++++++++
>   .../images/struct-with-arrays-no-qualifiers.frag   | 24 ++++++++++++++++++
>   4 files changed, 102 insertions(+)
>   create mode 100644 tests/spec/arb_bindless_texture/compiler/images/nested-struct-arrays-mismatch-format.frag
>   create mode 100644 tests/spec/arb_bindless_texture/compiler/images/nested-struct-with-arrays-no-qualifiers.frag
>   create mode 100644 tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-mismatch-format.frag
>   create mode 100644 tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-no-qualifiers.frag
> 
> diff --git a/tests/spec/arb_bindless_texture/compiler/images/nested-struct-arrays-mismatch-format.frag b/tests/spec/arb_bindless_texture/compiler/images/nested-struct-arrays-mismatch-format.frag
> new file mode 100644
> index 000000000..dfb518f80
> --- /dev/null
> +++ b/tests/spec/arb_bindless_texture/compiler/images/nested-struct-arrays-mismatch-format.frag
> @@ -0,0 +1,27 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 3.30
> +// require_extensions: GL_ARB_bindless_texture GL_ARB_shader_image_load_store
> +// [end config]
> +
> +#version 330
> +#extension GL_ARB_bindless_texture: require
> +#extension GL_ARB_shader_image_load_store: enable
> +#extension GL_ARB_arrays_of_arrays: enable
> +
> +// From Section 4.4.6.2 (Format Layout Qualifiers) of the GLSL 4.50 spec:
> +//
> +// "It is a compile-time error to declare an image variable where the format
> +//  qualifier does not match the image variable type."
> +
> +struct S_inner {
> +	layout (r32i) image2D img;
> +};
> +
> +struct {
> +	S_inner si[2][2];
> +} s;
> +
> +void main()
> +{
> +}
> diff --git a/tests/spec/arb_bindless_texture/compiler/images/nested-struct-with-arrays-no-qualifiers.frag b/tests/spec/arb_bindless_texture/compiler/images/nested-struct-with-arrays-no-qualifiers.frag
> new file mode 100644
> index 000000000..5fbec1386
> --- /dev/null
> +++ b/tests/spec/arb_bindless_texture/compiler/images/nested-struct-with-arrays-no-qualifiers.frag
> @@ -0,0 +1,29 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 3.30
> +// require_extensions: GL_ARB_bindless_texture GL_ARB_shader_image_load_store
> +// [end config]
> +
> +#version 330
> +#extension GL_ARB_bindless_texture: require
> +#extension GL_ARB_shader_image_load_store: enable
> +#extension GL_ARB_arrays_of_arrays: enable
> +
> +// From Section 4.4.6.2 (Format Layout Qualifiers) of the GLSL 4.50 spec:
> +//
> +// "Uniforms not qualified with writeonly must have a format layout qualifier."
> +//
> +// Because GL_ARB_bindless_texture allows to declare images insides structures,
> +// this rule applies and this test should fail.
> +
> +struct S_inner {
> +	image2D img;
> +};
> +
> +struct {
> +	S_inner si[2][2];
> +} s;
> +
> +void main()
> +{
> +}
> diff --git a/tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-mismatch-format.frag b/tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-mismatch-format.frag
> new file mode 100644
> index 000000000..b9981de77
> --- /dev/null
> +++ b/tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-mismatch-format.frag
> @@ -0,0 +1,22 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 3.30
> +// require_extensions: GL_ARB_bindless_texture GL_ARB_shader_image_load_store
> +// [end config]
> +
> +#version 330
> +#extension GL_ARB_bindless_texture: require
> +#extension GL_ARB_shader_image_load_store: enable
> +
> +// From Section 4.4.6.2 (Format Layout Qualifiers) of the GLSL 4.50 spec:
> +//
> +// "It is a compile-time error to declare an image variable where the format
> +//  qualifier does not match the image variable type."
> +
> +struct {
> +	layout (r32i) image2D imgs[6];
> +} s;
> +
> +void main()
> +{
> +}
> diff --git a/tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-no-qualifiers.frag b/tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-no-qualifiers.frag
> new file mode 100644
> index 000000000..bb29340fb
> --- /dev/null
> +++ b/tests/spec/arb_bindless_texture/compiler/images/struct-with-arrays-no-qualifiers.frag
> @@ -0,0 +1,24 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 3.30
> +// require_extensions: GL_ARB_bindless_texture GL_ARB_shader_image_load_store
> +// [end config]
> +
> +#version 330
> +#extension GL_ARB_bindless_texture: require
> +#extension GL_ARB_shader_image_load_store: enable
> +
> +// From Section 4.4.6.2 (Format Layout Qualifiers) of the GLSL 4.50 spec:
> +//
> +// "Uniforms not qualified with writeonly must have a format layout qualifier."
> +//
> +// Because GL_ARB_bindless_texture allows to declare images insides structures,
> +// this rule applies and this test should fail.
> +
> +struct {
> +	image2D imgs[6];
> +} s;
> +
> +void main()
> +{
> +}
> 


More information about the Piglit mailing list