[Piglit] [PATCH 1/2] glsl-1.50: add more negative tests for interface block linking
Stuart Abercrombie
sabercrombie at google.com
Mon Mar 18 16:56:18 PDT 2013
Sure, although I can't claim any real expertise with interface blocks.
Stuart
On Mon, Mar 18, 2013 at 4:10 PM, Jordan Justen <jljusten at gmail.com> wrote:
> On Tue, Mar 12, 2013 at 1:48 PM, Stuart Abercrombie
> <sabercrombie at google.com> wrote:
> > Can you remove the explicit #version lines in these? It will be
> inserted by
> > shader_runner based on the GLSL >= 1.50.
>
> Will do.
>
> > Reviewed-by: Stuart Abercrombie <sabercrombie at chromium.org>
>
> Does your r-b cover patch 2/2 as well?
>
> Thanks,
>
> -Jordan
>
> > On Tue, Mar 12, 2013 at 1:28 PM, Jordan Justen <
> jordan.l.justen at intel.com>
> > wrote:
> >>
> >> A few tests to make sure that interface blocks are defined
> >> the same during intrastage and interstage linking.
> >>
> >> Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
> >> ---
> >> ...s-multiple-vs-member-count-mismatch.shader_test | 41
> >> ++++++++++++++++++++
> >> ...-blocks-vs-fs-member-count-mismatch.shader_test | 38
> >> ++++++++++++++++++
> >> ...-blocks-vs-fs-member-order-mismatch.shader_test | 39
> >> +++++++++++++++++++
> >> 3 files changed, 118 insertions(+)
> >> create mode 100644
> >>
> tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test
> >> create mode 100644
> >>
> tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-count-mismatch.shader_test
> >> create mode 100644
> >>
> tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-order-mismatch.shader_test
> >>
> >> diff --git
> >>
> a/tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test
> >>
> b/tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test
> >> new file mode 100644
> >> index 0000000..6e05e2f
> >> --- /dev/null
> >> +++
> >>
> b/tests/spec/glsl-1.50/linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test
> >> @@ -0,0 +1,41 @@
> >> +# Tests that a link error occurs when an interface block member's type
> >> +# differs between the vertex and fragment shaders.
> >> +#
> >> +# GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
> >> +# "Matched block names within an interface (as defined above) must
> match
> >> +# in terms of having the same number of declarations with the same
> >> +# sequence of types and the same sequence of member names, as well as
> >> +# having the same member-wise layout qualification (see next
> section)."
> >> +[require]
> >> +GLSL >= 1.50
> >> +
> >> +[vertex shader]
> >> +#version 150
> >> +
> >> +out block {
> >> + vec4 a;
> >> +} vs1_block;
> >> +
> >> +void main()
> >> +{
> >> + gl_Position = vec4(0.0);
> >> +}
> >> +
> >> +[vertex shader]
> >> +#version 150
> >> +
> >> +out block {
> >> + vec4 a;
> >> + vec4 b; // b is not present in VS #1 interface block
> >> +} vs_block;
> >> +
> >> +[fragment shader]
> >> +#version 150
> >> +
> >> +void main()
> >> +{
> >> +}
> >> +
> >> +[test]
> >> +link error
> >> +
> >> diff --git
> >>
> a/tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-count-mismatch.shader_test
> >>
> b/tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-count-mismatch.shader_test
> >> new file mode 100644
> >> index 0000000..7702d3b
> >> --- /dev/null
> >> +++
> >>
> b/tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-count-mismatch.shader_test
> >> @@ -0,0 +1,38 @@
> >> +# Tests that a link error occurs when an interface block member's type
> >> +# differs between the vertex and fragment shaders.
> >> +#
> >> +# GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
> >> +# "Matched block names within an interface (as defined above) must
> match
> >> +# in terms of having the same number of declarations with the same
> >> +# sequence of types and the same sequence of member names, as well as
> >> +# having the same member-wise layout qualification (see next
> section)."
> >> +[require]
> >> +GLSL >= 1.50
> >> +
> >> +[vertex shader]
> >> +#version 150
> >> +
> >> +out block {
> >> + vec4 a;
> >> +} vs_block;
> >> +
> >> +void main()
> >> +{
> >> + gl_Position = vec4(0.0);
> >> +}
> >> +
> >> +[fragment shader]
> >> +#version 150
> >> +
> >> +in block {
> >> + vec4 a;
> >> + vec4 b; // b is not present in VS interface block
> >> +} fs_block;
> >> +
> >> +void main()
> >> +{
> >> +}
> >> +
> >> +[test]
> >> +link error
> >> +
> >> diff --git
> >>
> a/tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-order-mismatch.shader_test
> >>
> b/tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-order-mismatch.shader_test
> >> new file mode 100644
> >> index 0000000..2a3c5ec
> >> --- /dev/null
> >> +++
> >>
> b/tests/spec/glsl-1.50/linker/interface-blocks-vs-fs-member-order-mismatch.shader_test
> >> @@ -0,0 +1,39 @@
> >> +# Tests that a link error occurs when an interface block member's type
> >> +# differs between the vertex and fragment shaders.
> >> +#
> >> +# GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
> >> +# "Matched block names within an interface (as defined above) must
> match
> >> +# in terms of having the same number of declarations with the same
> >> +# sequence of types and the same sequence of member names, as well as
> >> +# having the same member-wise layout qualification (see next
> section)."
> >> +[require]
> >> +GLSL >= 1.50
> >> +
> >> +[vertex shader]
> >> +#version 150
> >> +
> >> +out block {
> >> + vec4 a;
> >> + vec4 b;
> >> +} vs_block;
> >> +
> >> +void main()
> >> +{
> >> + gl_Position = vec4(0.0);
> >> +}
> >> +
> >> +[fragment shader]
> >> +#version 150
> >> +
> >> +in block {
> >> + vec4 b; // b is the second member in the VS interface block
> >> + vec4 a;
> >> +} fs_block;
> >> +
> >> +void main()
> >> +{
> >> +}
> >> +
> >> +[test]
> >> +link error
> >> +
> >> --
> >> 1.7.10.4
> >>
> >> _______________________________________________
> >> Piglit mailing list
> >> Piglit at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/piglit
> >
> >
> >
> > _______________________________________________
> > Piglit mailing list
> > Piglit at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/piglit
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20130318/af5a947d/attachment.html>
More information about the Piglit
mailing list