#include "compiler/translator/ValidateOutputs.h"
#include <set>
#include "compiler/translator/InfoSink.h"
#include "compiler/translator/ParseContext.h"
#include "compiler/translator/tree_util/IntermTraverse.h"
namespace sh
{
namespace
{
void error(const TIntermSymbol &symbol, const char *reason, TDiagnostics *diagnostics)
{ … }
class ValidateOutputsTraverser : public TIntermTraverser
{ … };
ValidateOutputsTraverser::ValidateOutputsTraverser(const TExtensionBehavior &extBehavior,
const ShBuiltInResources &resources,
bool usesPixelLocalStorage,
bool isWebGL)
: … { … }
void ValidateOutputsTraverser::visitSymbol(TIntermSymbol *symbol)
{ … }
void ValidateOutputsTraverser::validate(TDiagnostics *diagnostics) const
{ … }
}
bool ValidateOutputs(TIntermBlock *root,
const TExtensionBehavior &extBehavior,
const ShBuiltInResources &resources,
bool usesPixelLocalStorage,
bool isWebGL,
TDiagnostics *diagnostics)
{ … }
}