Reject uniform initializers in GLSL 1.10 mode

Now both glslparsertest/dataType3.frag and glslparsertest/dataType2.frag pass.
This commit is contained in:
Ian Romanick 2010-03-26 18:05:27 -07:00
parent 72fc47f0b0
commit 19360152f5

View file

@ -980,6 +980,21 @@ ast_declarator_list::hir(exec_list *instructions,
instructions->push_tail(var);
/* From page 24 (page 30 of the PDF) of the GLSL 1.10 spec:
*
* "All uniform variables are read-only and are initialized either
* directly by an application via API commands, or indirectly by
* OpenGL."
*/
if ((state->language_version <= 110)
&& (var->mode == ir_var_uniform)
&& (decl->initializer != NULL)) {
YYLTYPE loc = decl->initializer->get_location();
_mesa_glsl_error(& loc, state, "uniform initializers forbidden in "
"GLSL 1.10");
}
/* FINISHME: Process the declaration initializer. */
}