[Piglit] [PATCH 2/2] arb_shading_language_420pack: Added some few more struct initializing tests

Timothy Arceri timothy.arceri at collabora.com
Tue Aug 9 03:18:51 UTC 2016


On Fri, 2016-08-05 at 17:43 +0300, Andres Gomez wrote:
> This set focus on checking invalid structs
> initializations. Specifically, adds a test to check that only
> implicit
> conversions are perform and vector conversions of the type vec3 to
> vec2 through dropping the z component are not allowed.

Bit of a nit but you have both illegal and wrong in the test name, you
only really need one or the other.

How about illegal-struct-aggregate-initializer-struct-to-bool.frag etc

Otherwise:

Acked-by: Timothy Arceri <timothy.arceri at collabora.com>

> ---
>  ...e-initializer-struct-wrong-bool-type-struct.frag | 20
> ++++++++++++++++++++
>  ...e-initializer-struct-wrong-struct-type-bool.frag | 20
> ++++++++++++++++++++
>  ...initializer-struct-wrong-struct-type-struct.frag | 21
> +++++++++++++++++++++
>  ...ate-initializer-struct-wrong-vec2-type-vec3.frag | 18
> ++++++++++++++++++
>  4 files changed, 79 insertions(+)
>  create mode 100644
> tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-bool-type-struct.frag
>  create mode 100644
> tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-struct-type-bool.frag
>  create mode 100644
> tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-struct-type-struct.frag
>  create mode 100644
> tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-vec2-type-vec3.frag
> 
> diff --git
> a/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-bool-type-struct.frag
> b/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-bool-type-struct.frag
> new file mode 100644
> index 0000000..57ec89c
> --- /dev/null
> +++ b/tests/spec/arb_shading_language_420pack/compiler/illegal-
> aggregate-initializer-struct-wrong-bool-type-struct.frag
> @@ -0,0 +1,20 @@
> +/* [config]
> + * expect_result: fail
> + * glsl_version: 1.30
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +
> +#version 130
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +struct s { bool f; };
> +
> +void main() {
> +    // Illegal since e.b is bool, but struct given as initializer
> +    struct {
> +        float a;
> +        bool b;
> +    } e = { 1.2, s(true) };
> +    gl_FragColor = vec4(1.0);
> +}
> diff --git
> a/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-struct-type-bool.frag
> b/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-struct-type-bool.frag
> new file mode 100644
> index 0000000..739835d
> --- /dev/null
> +++ b/tests/spec/arb_shading_language_420pack/compiler/illegal-
> aggregate-initializer-struct-wrong-struct-type-bool.frag
> @@ -0,0 +1,20 @@
> +/* [config]
> + * expect_result: fail
> + * glsl_version: 1.30
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +
> +#version 130
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +struct s { float f; };
> +
> +void main() {
> +    // Illegal since e.b is struct s, but bool given as initializer
> +    struct {
> +        float a;
> +        s b;
> +    } e = { 1.2, true };
> +    gl_FragColor = vec4(1.0);
> +}
> diff --git
> a/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-struct-type-struct.frag
> b/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-struct-type-struct.frag
> new file mode 100644
> index 0000000..ab72dfc
> --- /dev/null
> +++ b/tests/spec/arb_shading_language_420pack/compiler/illegal-
> aggregate-initializer-struct-wrong-struct-type-struct.frag
> @@ -0,0 +1,21 @@
> +/* [config]
> + * expect_result: fail
> + * glsl_version: 1.30
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +
> +#version 130
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +struct s1 { float f; };
> +struct s2 { bool f; bool g; };
> +
> +void main() {
> +    // Illegal since e.b is struct s1, but a struct s2 given as
> initializer
> +    struct {
> +        float a;
> +        s1 b;
> +    } e = { 1.2, s2(true, false) };
> +    gl_FragColor = vec4(1.0);
> +}
> diff --git
> a/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-vec2-type-vec3.frag
> b/tests/spec/arb_shading_language_420pack/compiler/illegal-aggregate-
> initializer-struct-wrong-vec2-type-vec3.frag
> new file mode 100644
> index 0000000..0648f05
> --- /dev/null
> +++ b/tests/spec/arb_shading_language_420pack/compiler/illegal-
> aggregate-initializer-struct-wrong-vec2-type-vec3.frag
> @@ -0,0 +1,18 @@
> +/* [config]
> + * expect_result: fail
> + * glsl_version: 1.30
> + * require_extensions: GL_ARB_shading_language_420pack
> + * [end config]
> + */
> +
> +#version 130
> +#extension GL_ARB_shading_language_420pack: enable
> +
> +void main() {
> +    // Illegal since e.b is vec2, but a vec3 given as initializer
> and only “Implicit Conversions.” are allowed
> +    struct {
> +        float a;
> +        vec2 b;
> +    } e = { 1.2, vec3(1.0, 0.0, 1.0) };
> +    gl_FragColor = vec4(1.0);
> +}


More information about the Piglit mailing list