X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fcompiler.h;h=29561407f9fa80282fbbd5296fe7736cca0aac43;hb=fd44325059d59d32d47ef3feb6d41d846f7f36f0;hp=64cbac4f7cefd801d1c8f38667d488995a0cd6da;hpb=f7b29fcfe408965c9cba79095eb05c49eca4a98e;p=libs%2Fgl.git diff --git a/source/glsl/compiler.h b/source/glsl/compiler.h index 64cbac4f..29561407 100644 --- a/source/glsl/compiler.h +++ b/source/glsl/compiler.h @@ -24,6 +24,7 @@ private: enum OptimizeResult { NEXT_STAGE, + REDO_STAGE, REDO_PREVIOUS }; @@ -94,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 *); @@ -108,6 +113,8 @@ private: variables. */ void generate(Stage &, Mode); + bool validate(Stage &); + /** Applies optimizations to a stage. The return value indicates which stage should be optimized next. */ OptimizeResult optimize(Stage &);