diff options
Diffstat (limited to 'src/3rdparty/angle/src/compiler/translator/ValidateOutputs.h')
-rw-r--r-- | src/3rdparty/angle/src/compiler/translator/ValidateOutputs.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/3rdparty/angle/src/compiler/translator/ValidateOutputs.h b/src/3rdparty/angle/src/compiler/translator/ValidateOutputs.h index 1538e0f157..06f63994cd 100644 --- a/src/3rdparty/angle/src/compiler/translator/ValidateOutputs.h +++ b/src/3rdparty/angle/src/compiler/translator/ValidateOutputs.h @@ -7,6 +7,7 @@ #ifndef COMPILER_TRANSLATOR_VALIDATEOUTPUTS_H_ #define COMPILER_TRANSLATOR_VALIDATEOUTPUTS_H_ +#include "compiler/translator/ExtensionBehavior.h" #include "compiler/translator/IntermNode.h" #include <set> @@ -16,23 +17,20 @@ class TInfoSinkBase; class ValidateOutputs : public TIntermTraverser { public: - ValidateOutputs(TInfoSinkBase& sink, int maxDrawBuffers); + ValidateOutputs(const TExtensionBehavior &extBehavior, int maxDrawBuffers); - int numErrors() const { return mNumErrors; } + int validateAndCountErrors(TInfoSinkBase &sink) const; - virtual void visitSymbol(TIntermSymbol*); + void visitSymbol(TIntermSymbol *) override; private: - TInfoSinkBase& mSink; int mMaxDrawBuffers; - int mNumErrors; - bool mHasUnspecifiedOutputLocation; + bool mAllowUnspecifiedOutputLocationResolution; - typedef std::map<int, TIntermSymbol*> OutputMap; - OutputMap mOutputMap; + typedef std::vector<TIntermSymbol *> OutputVector; + OutputVector mOutputs; + OutputVector mUnspecifiedLocationOutputs; std::set<TString> mVisitedSymbols; - - void error(TSourceLoc loc, const char *reason, const char* token); }; #endif // COMPILER_TRANSLATOR_VALIDATEOUTPUTS_H_ |