X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.cpp;h=ce1283721d6f7b0796e40808b3425acd49d49b64;hp=a2fd3608220e836d268d2310ad1ec6c8915e4550;hb=d684e9f3007a0113c65c016ceb694eeac56a128c;hpb=27e7b634d31498783ea6d24b72f02f3f1287851d diff --git a/source/glsl/generate.cpp b/source/glsl/generate.cpp index a2fd3608..ce128372 100644 --- a/source/glsl/generate.cpp +++ b/source/glsl/generate.cpp @@ -219,6 +219,8 @@ bool VariableResolver::apply(Stage &s) s.interface_blocks.clear(); r_any_resolved = false; s.content.visit(*this); + for(vector::const_iterator i=redeclared_builtins.begin(); i!=redeclared_builtins.end(); ++i) + (*i)->source = GENERATED_SOURCE; NodeRemover().apply(s, nodes_to_remove); return r_any_resolved; } @@ -461,6 +463,12 @@ void VariableResolver::visit(VariableDeclaration &var) ptr = &var; else if(!current_block->parent && ptr->interface==var.interface && ptr->type==var.type) { + if(ptr->source==BUILTIN_SOURCE) + redeclared_builtins.push_back(&var); + else + stage->diagnostics.push_back(Diagnostic(Diagnostic::WARN, var.source, var.line, + format("Redeclaring non-builtin variable '%s' is deprecated", var.name))); + if(var.init_expression) ptr->init_expression = var.init_expression; if(var.layout)