X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fcompiler.cpp;h=172bdac629251d8ecd3ab49a9c75cec394dd9d2e;hb=b94b0c01488e676bc6c64cd7743c5ff50eb15088;hp=f5540139e3391cffd1afd1b9f2f8e709fa4b99d5;hpb=4c805f55d89919d6971d600102ab4d6d65d56dc3;p=libs%2Fgl.git diff --git a/source/glsl/compiler.cpp b/source/glsl/compiler.cpp index f5540139..172bdac6 100644 --- a/source/glsl/compiler.cpp +++ b/source/glsl/compiler.cpp @@ -260,6 +260,7 @@ void Compiler::generate(Stage &stage, Mode mode) bool Compiler::validate(Stage &stage) { DeclarationValidator().apply(stage); + ReferenceValidator().apply(stage); for(vector::const_iterator i=stage.diagnostics.begin(); i!=stage.diagnostics.end(); ++i) if(i->severity==Diagnostic::ERR) @@ -285,6 +286,7 @@ Compiler::OptimizeResult Compiler::optimize(Stage &stage) to become unused. */ bool any_removed = UnusedVariableRemover().apply(stage); any_removed |= UnusedFunctionRemover().apply(stage); + any_removed |= UnusedTypeRemover().apply(stage); return any_removed ? REDO_PREVIOUS : any_inlined ? REDO_STAGE : NEXT_STAGE; }