X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fcompiler.h;h=e30bd709bb2aadef5cd585e114f6fdb6bc7f5ac8;hb=a8472c4fc8bce5db0d50d920f9c4159bda631e30;hp=5104388870f5a22bbfff775d843ce9ab095f2bbf;hpb=50a79aee4c53c4198bae38c7ff447133a043aacc;p=libs%2Fgl.git diff --git a/source/glsl/compiler.h b/source/glsl/compiler.h index 51043888..e30bd709 100644 --- a/source/glsl/compiler.h +++ b/source/glsl/compiler.h @@ -41,6 +41,7 @@ private: Features features; Module *module; std::vector imported_names; + bool compiled; bool specialized; std::map spec_values; @@ -121,7 +122,7 @@ private: /** Generates any implicitly defines syntactic structures and resolves variables. */ - void generate(Stage &, Mode); + void generate(Stage &); template bool resolve(Stage &, unsigned &, unsigned); @@ -131,7 +132,13 @@ private: aspects as necessary. */ void resolve(Stage &, unsigned = RESOLVE_ALL); - bool validate(Stage &); + /** Runs validators on a stage. Diagnostic messages are recorded in the + stage for later inspection. */ + void validate(Stage &); + + /** Checks a stage's recorded diagnostics for errors. If any are found, + returns true. */ + bool check_errors(Stage &); static bool diagnostic_line_order(const Diagnostic &, const Diagnostic &);