diff options
author | Eric Anholt <eric@anholt.net> | 2012-04-27 13:37:14 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2012-05-14 14:33:09 -0700 |
commit | 76520b77734daa59691d70864dfea9944aa69842 (patch) | |
tree | 463752aed9240bdc99e67cfe2331059f446e5c1d | |
parent | 35be5900b426e18e785a69b177bd93d5e8e27e6d (diff) |
GL_ARB_uniform_buffer_object: Test that initializers are illegal.
-rw-r--r-- | tests/spec/arb_uniform_buffer_object/compiler/uniform-block-initializer.frag | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/spec/arb_uniform_buffer_object/compiler/uniform-block-initializer.frag b/tests/spec/arb_uniform_buffer_object/compiler/uniform-block-initializer.frag new file mode 100644 index 000000000..85adebbfe --- /dev/null +++ b/tests/spec/arb_uniform_buffer_object/compiler/uniform-block-initializer.frag @@ -0,0 +1,35 @@ +// [config] +// expect_result: fail +// glsl_version: 1.20 +// require_extensions: GL_ARB_uniform_buffer_object +// [end config] + +#version 120 +#extension GL_ARB_uniform_buffer_object: require + +/* From the GL_ARB_uniform_buffer_object spec: + * + * "While uniforms in the default uniform block are updated with + * glUniform* entry points and can have static initializers, + * uniforms in named uniform blocks are not. Instead, uniform + * block data is updated using the routines that update buffer + * objects and can not use static initializers. + * + * ... + * + * (15) How are the values from static initializer values + * propagated to a buffer object once it is attached? + * + * Resolved: Static initialization values declared in a + * shader mapped to a uniform buffer are disallowed by the + * grammar and must be established through writes to the + * uniform buffer." + */ + +uniform a { + vec4 b = vec4(1.0); +}; + +vec4 foo(void) { + return b; +} |