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 <[email protected]> > --- > ...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); > +} _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
