Only initialize types after #extension directives have been processed.

Since _mesa_glsl_initialize_types add types for various extensions, we
can't call it until after processing "#extension foo : disable" lines.

Fixes tex_rect_02.frag.
This commit is contained in:
Kenneth Graunke 2010-06-08 22:33:43 -07:00
parent 4b0029a97d
commit 57503a22d7
2 changed files with 8 additions and 10 deletions

View file

@ -186,21 +186,19 @@
%%
translation_unit:
version_statement
version_statement extension_statement_list
{
_mesa_glsl_initialize_types(state);
}
extension_statement_list external_declaration_list
|
{
state->language_version = 110;
_mesa_glsl_initialize_types(state);
}
extension_statement_list external_declaration_list
external_declaration_list
;
version_statement:
VERSION INTCONSTANT EOL
/* blank - no #version specified */
{
state->language_version = 110;
}
| VERSION INTCONSTANT EOL
{
switch ($2) {
case 110:

View file

@ -737,7 +737,7 @@ main(int argc, char **argv)
ast->print();
}
if (!state.translation_unit.is_empty())
if (!state.error && !state.translation_unit.is_empty())
_mesa_ast_to_hir(&instructions, &state);
} else {
/* FINISHME: We should initialize this to the max GLSL version supported