summaryrefslogtreecommitdiff
path: root/generated_tests
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2018-02-12 19:58:30 -0800
committerFrancisco Jerez <currojerez@riseup.net>2018-07-17 13:53:22 -0700
commitd3da8f318695b3a9cf580c500ef475db72a75e21 (patch)
treef53ca019348a1dcb64a9380fa6cb1821d4f9e6d9 /generated_tests
parentc3b4b8835f2442d3ebb8bc0aa82ebc5dada4408f (diff)
EXT_shader_framebuffer_fetch: Add tests for framebuffer fetch outputs with invalid layout qualifier.
Diffstat (limited to 'generated_tests')
-rw-r--r--generated_tests/gen_shader_framebuffer_fetch_tests.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/generated_tests/gen_shader_framebuffer_fetch_tests.py b/generated_tests/gen_shader_framebuffer_fetch_tests.py
index eb0e48c9a..157652329 100644
--- a/generated_tests/gen_shader_framebuffer_fetch_tests.py
+++ b/generated_tests/gen_shader_framebuffer_fetch_tests.py
@@ -222,6 +222,42 @@ def main():
'shader_stage': 'frag'}]))
#
+ # Test framebuffer fetch output declarations with invalid layout
+ # qualifiers. From the EXT_shader_framebuffer_fetch extension:
+ #
+ # "It is an error to declare an inout fragment output not
+ # qualified with layout(noncoherent) if the
+ # GL_EXT_shader_framebuffer_fetch extension hasn't been enabled."
+ #
+ # "The ability to use the inout and layout(noncoherent) qualifiers
+ # at global scope in a fragment shader are optional and can be
+ # enabled by
+ # #extension GL_EXT_shader_framebuffer_fetch_non_coherent : <behavior>"
+ #
+ gen_compiler("""\
+ /*
+ * [config]
+ * expect_result: fail
+ * glsl_version: ${3.0 if api_version >= 3.0 else 1.0} es
+ * require_extensions: GL_${extension}
+ * [end config]
+ */
+ #version ${'300 es' if api_version >= 3.0 else '100'}
+ #extension GL_${extension} : enable
+
+ ${decl_frag_data(api_version, '' if layout else 'layout(noncoherent)')}
+
+ void main()
+ {
+ ${last_frag_data(api_version)};
+ }
+ """, product(all_defs,
+ [{'name': 'negative-output-layout-',
+ 'shader_stage': 'frag'}],
+ [{'name': 'gles2', 'api_version': 2.0},
+ {'name': 'gles3', 'api_version': 3.0}]))
+
+ #
# Test that GL(ES) 3+ user-defined inout arrays are not accepted
# in earlier GLSL versions.
#