diff --git a/glslang/GenericCodeGen/CodeGen.cpp b/glslang/GenericCodeGen/CodeGen.cpp index 89394ba5..7628c499 100644 --- a/glslang/GenericCodeGen/CodeGen.cpp +++ b/glslang/GenericCodeGen/CodeGen.cpp @@ -34,6 +34,7 @@ #include "../Include/Common.h" #include "../Include/ShHandle.h" +#include "../MachineIndependent/Versions.h" // // Here is where real machine specific high-level data would be defined. @@ -41,7 +42,7 @@ class TGenericCompiler : public TCompiler { public: TGenericCompiler(EShLanguage l, int dOptions) : TCompiler(l, infoSink), debugOptions(dOptions) { } - virtual bool compile(TIntermNode* root); + virtual bool compile(TIntermNode* root, int version = 0, EProfile profile = ENoProfile); TInfoSink infoSink; int debugOptions; }; @@ -67,7 +68,7 @@ void DeleteCompiler(TCompiler* compiler) // // Generate code from the given parse tree // -bool TGenericCompiler::compile(TIntermNode *root) +bool TGenericCompiler::compile(TIntermNode *root, int version, EProfile profile) { haveValidObjectCode = true; diff --git a/glslang/Include/ShHandle.h b/glslang/Include/ShHandle.h index 0bde67b6..3a8420a1 100644 --- a/glslang/Include/ShHandle.h +++ b/glslang/Include/ShHandle.h @@ -45,7 +45,7 @@ #define SH_EXPORTING #include "../Public/ShaderLang.h" - +#include "../MachineIndependent/Versions.h" #include "InfoSink.h" class TCompiler; @@ -91,7 +91,7 @@ public: EShLanguage getLanguage() { return language; } virtual TInfoSink& getInfoSink() { return infoSink; } - virtual bool compile(TIntermNode* root) = 0; + virtual bool compile(TIntermNode* root, int version = 0, EProfile profile = ENoProfile) = 0; virtual TCompiler* getAsCompiler() { return this; } virtual bool linkable() { return haveValidObjectCode; } diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index bace3b24..6b77f37c 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -566,7 +566,7 @@ int ShCompile( // // Call the machine dependent compiler // - if (! compiler->compile(parseContext.treeRoot)) + if (! compiler->compile(parseContext.treeRoot, parseContext.version, parseContext.profile)) success = false; } }