glsl parser: on desktop GL require GLSL 150 for instance names

Interface blocks in GLSL 150 allow an instance name to be used.

v2:
 * use state->check_version

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Jordan Justen
2013-03-09 14:09:30 -08:00
parent d36cb3617c
commit 4369acff5e
+3 -5
View File
@@ -1953,11 +1953,9 @@ basic_interface_block:
* the same language versions, we don't have to explicitly
* version-check both things.
*/
if (block->instance_name != NULL
&& !(state->language_version == 300 && state->es_shader)) {
_mesa_glsl_error(& @1, state,
"#version 300 es required for using uniform "
"blocks with an instance name\n");
if (block->instance_name != NULL) {
state->check_version(150, 300, & @1, "interface blocks with "
"an instance name are not allowed");
}
block->layout.flags.i |= $1.flags.i;