diff options
author | Andres Gomez <agomez@igalia.com> | 2016-10-25 17:46:37 +0300 |
---|---|---|
committer | Andres Gomez <agomez@igalia.com> | 2016-11-26 02:39:55 +0200 |
commit | d8d611d2f071619a31274410e5b5ec789fd046c3 (patch) | |
tree | ce1424f1930e9acb39d1ed2670e3b3103fa01cd1 | |
parent | 86e56903fdb19e6940cd7f9b8bd8df587f870bc2 (diff) | |
download | piglit-d8d611d2f071619a31274410e5b5ec789fd046c3.tar.gz |
arb_shading_language_420pack: Add multiple layout qualifiers in a single uniform 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 uniform declaration.
The tests check that this works for non-value layout-qualifier-ids. So
far, there is no value layout-qualifier-ids with which to check.
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>
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-1.vert b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-1.vert new file mode 100644 index 000000000..947444fa2 --- /dev/null +++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-1.vert @@ -0,0 +1,30 @@ +// [config] +// expect_result: pass +// glsl_version: 1.40 +// require_extensions: GL_ARB_shading_language_420pack GL_ARB_enhanced_layouts +// [end config] +// +// From the ARB_shading_language_420pack spec: +// +// "More than one layout qualifier may appear in a single declaration." +// +// ARB_enhanced_layouts spec says: +// +// "The *align* qualifier can only be used on blocks or block +// members, and only for blocks declared with *std140* or *std430* +// layouts." + +#version 140 +#extension GL_ARB_shading_language_420pack: enable +#extension GL_ARB_enhanced_layouts : enable + +layout(std140) layout(row_major) uniform; + +layout(align = 32) uniform block { + vec4 var1; + vec4 var2; +}; + +void main() +{ +} diff --git a/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-2.vert b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-2.vert new file mode 100644 index 000000000..c82547adc --- /dev/null +++ b/tests/spec/arb_shading_language_420pack/compiler/layout-qualifiers/multiple-uniform-non-value-layout-qualifier-in-single-declaration-2.vert @@ -0,0 +1,30 @@ +// [config] +// expect_result: pass +// glsl_version: 1.40 +// require_extensions: GL_ARB_shading_language_420pack GL_ARB_enhanced_layouts +// [end config] +// +// From the ARB_shading_language_420pack spec: +// +// "More than one layout qualifier may appear in a single declaration." +// +// ARB_enhanced_layouts spec says: +// +// "The *align* qualifier can only be used on blocks or block +// members, and only for blocks declared with *std140* or *std430* +// layouts." + +#version 140 +#extension GL_ARB_shading_language_420pack: enable +#extension GL_ARB_enhanced_layouts : enable + +layout(row_major) layout(std140) uniform; + +layout(align = 32) uniform block { + vec4 var1; + vec4 var2; +}; + +void main() +{ +} |