diff options
author | Andres Gomez <agomez@igalia.com> | 2016-10-25 17:18:40 +0300 |
---|---|---|
committer | Andres Gomez <agomez@igalia.com> | 2016-11-26 02:39:55 +0200 |
commit | 86e56903fdb19e6940cd7f9b8bd8df587f870bc2 (patch) | |
tree | 3cadb2648ee103939f301f6af43d75603b251eae | |
parent | 444f17e89e4933025ec5387925a4272514fe8422 (diff) | |
download | piglit-86e56903fdb19e6940cd7f9b8bd8df587f870bc2.tar.gz |
arb_shading_language_420pack: Add multiple layout qualifiers in a single output declaration tests
This adds tests to check that all layout-qualifier-ids are taken into
account when spread across multiple layout-qualifiers for a single
global output declaration.
The tests check that this works for value and non-value
layout-qualifier-ids.
From the ARB_shading_language_420pack spec:
"More than one layout qualifier may appear in a single declaration."
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
4 files changed, 100 insertions, 0 deletions
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-non-value-layout-qualifier-in-single-declaration-1.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-non-value-layout-qualifier-in-single-declaration-1.geom new file mode 100644 index 000000000..50cc6576e --- /dev/null +++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-non-value-layout-qualifier-in-single-declaration-1.geom @@ -0,0 +1,25 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// require_extensions: GL_ARB_shading_language_420pack +// [end config] +// +// From the ARB_shading_language_420pack spec: +// +// "More than one layout qualifier may appear in a single declaration." +// +// From section 4.3.8.2(Output Layout Qualifiers) of the GLSL 1.50 spec says: +// +// "All geometry shader output layout declarations in a program must declare the +// same layout and same value for max_vertices." + +#version 150 +#extension GL_ARB_shading_language_420pack: enable + +layout(lines) in; +layout(triangle_strip) layout(max_vertices=3) out; +layout(points) out; + +void main() +{ +} diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-non-value-layout-qualifier-in-single-declaration-2.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-non-value-layout-qualifier-in-single-declaration-2.geom new file mode 100644 index 000000000..11ec500ae --- /dev/null +++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-non-value-layout-qualifier-in-single-declaration-2.geom @@ -0,0 +1,25 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// require_extensions: GL_ARB_shading_language_420pack +// [end config] +// +// From the ARB_shading_language_420pack spec: +// +// "More than one layout qualifier may appear in a single declaration." +// +// From section 4.3.8.2(Output Layout Qualifiers) of the GLSL 1.50 spec says: +// +// "All geometry shader output layout declarations in a program must declare the +// same layout and same value for max_vertices." + +#version 150 +#extension GL_ARB_shading_language_420pack: enable + +layout(lines) in; +layout(max_vertices=3) layout(triangle_strip) out; +layout(points) out; + +void main() +{ +} diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-value-layout-qualifier-in-single-declaration-3.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-value-layout-qualifier-in-single-declaration-3.geom new file mode 100644 index 000000000..d2cc48b91 --- /dev/null +++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-value-layout-qualifier-in-single-declaration-3.geom @@ -0,0 +1,25 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// require_extensions: GL_ARB_shading_language_420pack +// [end config] +// +// From the ARB_shading_language_420pack spec: +// +// "More than one layout qualifier may appear in a single declaration." +// +// From section 4.3.8.2(Output Layout Qualifiers) of the GLSL 1.50 spec says: +// +// "All geometry shader output layout declarations in a program must declare the +// same layout and same value for max_vertices." + +#version 150 +#extension GL_ARB_shading_language_420pack: enable + +layout(lines) in; +layout(triangle_strip) layout(max_vertices=3) out; +layout(max_vertices=2) out; + +void main() +{ +} diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-value-layout-qualifier-in-single-declaration-4.geom b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-value-layout-qualifier-in-single-declaration-4.geom new file mode 100644 index 000000000..21b3259fe --- /dev/null +++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-output-value-layout-qualifier-in-single-declaration-4.geom @@ -0,0 +1,25 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// require_extensions: GL_ARB_shading_language_420pack +// [end config] +// +// From the ARB_shading_language_420pack spec: +// +// "More than one layout qualifier may appear in a single declaration." +// +// From section 4.3.8.2(Output Layout Qualifiers) of the GLSL 1.50 spec says: +// +// "All geometry shader output layout declarations in a program must declare the +// same layout and same value for max_vertices." + +#version 150 +#extension GL_ARB_shading_language_420pack: enable + +layout(lines) in; +layout(max_vertices=3) layout(triangle_strip) out; +layout(max_vertices=2) out; + +void main() +{ +} |