Front-End: Non-ES trigger for processing precision qualifiers.

Initially non-functional: Have an independent test for whether to obey
precision qualifiers other than whether the profile is es.
This commit is contained in:
John Kessenich 2016-08-03 15:19:37 -06:00
parent 219b025d7e
commit 4d535640e4
6 changed files with 56 additions and 44 deletions

View file

@ -80,7 +80,7 @@ public:
symbolTable(symbolTable), tokensBeforeEOF(false),
linkage(nullptr), scanContext(nullptr), ppContext(nullptr) { }
virtual ~TParseContextBase() { }
virtual void setLimits(const TBuiltInResource&) = 0;
EShLanguage getLanguage() const { return language; }
@ -155,6 +155,9 @@ public:
bool forwardCompatible = false, EShMessages messages = EShMsgDefault);
virtual ~TParseContext();
bool obeyPrecisionQualifiers() const { return obeyPrecisionQualifiers_; };
void setPrecisionDefaults();
void setLimits(const TBuiltInResource&);
bool parseShaderStrings(TPpContext&, TInputScanner& input, bool versionWillBeError = false);
void parserError(const char* s); // for bison's yyerror
@ -351,6 +354,7 @@ protected:
TIdSetType inductiveLoopIds;
bool anyIndexLimits;
TVector<TIntermTyped*> needsIndexLimitationChecking;
bool obeyPrecisionQualifiers_;
//
// Geometry shader input arrays: