diff options
author | Andres Gomez <agomez@igalia.com> | 2016-10-11 17:09:42 +0300 |
---|---|---|
committer | Andres Gomez <agomez@igalia.com> | 2016-11-26 02:39:55 +0200 |
commit | f90afe8a37f1b3995b32bbdd41d0704fb42bc625 (patch) | |
tree | 3f183f355797522225f8e2228e5e57432187b582 | |
parent | 91c00be97e8821298ade9e3459fb04b07fbad05c (diff) |
arb_enhanced_layouts: Add more xfb_stride redeclaration tests
From the GL_ARB_enhanced_layouts spec:
"While *xfb_stride* can be declared multiple times for the same buffer,
it is a compile-time or link-time error to have different values
specified for the stride for the same buffer."
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
14 files changed, 340 insertions, 6 deletions
diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert new file mode 100644 index 000000000..b9fadb43a --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match-global.vert @@ -0,0 +1,31 @@ +// [config] +// expect_result: pass +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20, xfb_buffer = 0) out; + +layout(xfb_buffer = 0) out block1 { + vec4 var; +}; + +layout(xfb_stride = 20) out block2 { + vec4 var2; +}; + +void main() +{ + var = vec4(1.0); + var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert new file mode 100644 index 000000000..fbc84daa5 --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-match.vert @@ -0,0 +1,29 @@ +// [config] +// expect_result: pass +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20) out block1 { + vec4 var; +}; + +layout(xfb_buffer = 0, xfb_stride = 20) out block2 { + vec4 var2; +}; + +void main() +{ + var = vec4(1.0); + var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert new file mode 100644 index 000000000..2adfa30e2 --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch-global.vert @@ -0,0 +1,31 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20, xfb_buffer = 0) out; + +layout(xfb_buffer = 0) out block1 { + vec4 var; +}; + +layout(xfb_stride = 32) out block2 { + vec4 var2; +}; + +void main() +{ + var = vec4(1.0); + var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert new file mode 100644 index 000000000..baa72e879 --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/block-stride-mismatch.vert @@ -0,0 +1,29 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20) out block1 { + vec4 var; +}; + +layout(xfb_buffer = 0, xfb_stride = 32) out block2 { + vec4 var2; +}; + +void main() +{ + var = vec4(1.0); + var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert new file mode 100644 index 000000000..f24946ea3 --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-match.vert @@ -0,0 +1,22 @@ +// [config] +// expect_result: pass +// glsl_version: 1.40 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 140 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20) out; +layout(xfb_buffer = 0, xfb_stride = 20) out; + +void main() +{ +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert new file mode 100644 index 000000000..074034427 --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/global-stride-mismatch.vert @@ -0,0 +1,22 @@ +// [config] +// expect_result: fail +// glsl_version: 1.40 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 140 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20) out; +layout(xfb_buffer = 0, xfb_stride = 32) out; + +void main() +{ +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert new file mode 100644 index 000000000..2211743db --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match-global.vert @@ -0,0 +1,31 @@ +// [config] +// expect_result: pass +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20, xfb_buffer = 0) out; + +layout(xfb_buffer = 0) out block1 { + vec4 var; +} b1; + +layout(xfb_stride = 20) out block2 { + vec4 var2; +} b2; + +void main() +{ + b1.var = vec4(1.0); + b2.var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert new file mode 100644 index 000000000..0948be661 --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-match.vert @@ -0,0 +1,29 @@ +// [config] +// expect_result: pass +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20) out block1 { + vec4 var; +} b1; + +layout(xfb_buffer = 0, xfb_stride = 20) out block2 { + vec4 var2; +} b2; + +void main() +{ + b1.var = vec4(1.0); + b2.var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert new file mode 100644 index 000000000..bfd59a2b1 --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch-global.vert @@ -0,0 +1,31 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20, xfb_buffer = 0) out; + +layout(xfb_buffer = 0) out block1 { + vec4 var; +} b1; + +layout(xfb_stride = 32) out block2 { + vec4 var2; +} b2; + +void main() +{ + b1.var = vec4(1.0); + b2.var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert new file mode 100644 index 000000000..8e019fbfe --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/named-block-stride-mismatch.vert @@ -0,0 +1,29 @@ +// [config] +// expect_result: fail +// glsl_version: 1.50 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 150 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20) out block1 { + vec4 var; +} b1; + +layout(xfb_buffer = 0, xfb_stride = 32) out block2 { + vec4 var2; +} b2; + +void main() +{ + b1.var = vec4(1.0); + b2.var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert new file mode 100644 index 000000000..3c8bdcfdf --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match-global.vert @@ -0,0 +1,26 @@ +// [config] +// expect_result: pass +// glsl_version: 1.40 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 140 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20, xfb_buffer = 0) out; + +layout(xfb_buffer = 0) out vec4 var; +layout(xfb_stride = 20) out vec4 var2; + +void main() +{ + var = vec4(1.0); + var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert new file mode 100644 index 000000000..17bf2e34a --- /dev/null +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-match.vert @@ -0,0 +1,24 @@ +// [config] +// expect_result: pass +// glsl_version: 1.40 +// check_link: true +// require_extensions: GL_ARB_enhanced_layouts +// [end config] +// +// From the GL_ARB_enhanced_layouts spec: +// +// "While *xfb_stride* can be declared multiple times for the same buffer, +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." + +#version 140 +#extension GL_ARB_enhanced_layouts: require + +layout(xfb_stride = 20) out vec4 var; +layout(xfb_buffer = 0, xfb_stride = 20) out vec4 var2; + +void main() +{ + var = vec4(1.0); + var2 = vec4(0.0); +} diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert index b8184ba31..ad05b6a55 100644 --- a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch-global.vert @@ -8,8 +8,8 @@ // From the GL_ARB_enhanced_layouts spec: // // "While *xfb_stride* can be declared multiple times for the same buffer, -// it is a compile-time or link-time error to have different values -// specified for the stride for the same buffer." +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." #version 140 #extension GL_ARB_enhanced_layouts: require @@ -17,7 +17,7 @@ layout(xfb_stride = 20, xfb_buffer = 0) out; layout(xfb_buffer = 0) out vec4 var; -layout(xfb_offset = 16, xfb_stride = 32) out vec4 var2; +layout(xfb_stride = 32) out vec4 var2; void main() { diff --git a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert index 55fb2af16..ee03d5cee 100644 --- a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert +++ b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-mismatch.vert @@ -8,14 +8,14 @@ // From the GL_ARB_enhanced_layouts spec: // // "While *xfb_stride* can be declared multiple times for the same buffer, -// it is a compile-time or link-time error to have different values -// specified for the stride for the same buffer." +// it is a compile-time or link-time error to have different values +// specified for the stride for the same buffer." #version 140 #extension GL_ARB_enhanced_layouts: require layout(xfb_stride = 20) out vec4 var; -layout(xfb_offset = 16, xfb_stride = 32) out vec4 var2; +layout(xfb_buffer = 0, xfb_stride = 32) out vec4 var2; void main() { |