diff options
author | Francisco Jerez <currojerez@riseup.net> | 2018-02-12 19:58:30 -0800 |
---|---|---|
committer | Francisco Jerez <currojerez@riseup.net> | 2018-07-17 13:53:22 -0700 |
commit | d3da8f318695b3a9cf580c500ef475db72a75e21 (patch) | |
tree | f53ca019348a1dcb64a9380fa6cb1821d4f9e6d9 /generated_tests | |
parent | c3b4b8835f2442d3ebb8bc0aa82ebc5dada4408f (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.py | 36 |
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. # |