X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fcompiler.h;h=9891293af303e5552c1d970977f7ac528c4af6a7;hb=6d11ee7d6137117f441951615cd4cde4d59bf968;hp=ec410c03ce45419c9a32de5cc6c0d5e27da5bd2a;hpb=518f751d385b733adbf43fe4056403740709edec;p=libs%2Fgl.git diff --git a/source/glsl/compiler.h b/source/glsl/compiler.h index ec410c03..9891293a 100644 --- a/source/glsl/compiler.h +++ b/source/glsl/compiler.h @@ -95,6 +95,10 @@ public: Intended for debugging purposes. */ std::string get_stage_debug(Stage::Type) const; + /** Returns diagnostics from compilation. The output is intended to be + viewed by humans. */ + std::string get_diagnostics() const; + private: /** Appends a module to the target, processing any imports found in it. */ void append_module(Module &, DataFile::Collection *); @@ -109,6 +113,11 @@ private: variables. */ void generate(Stage &, Mode); + /** Resolves references and expression types. */ + void resolve(Stage &); + + bool validate(Stage &); + /** Applies optimizations to a stage. The return value indicates which stage should be optimized next. */ OptimizeResult optimize(Stage &);