Hash :
006ed1ed
Author :
Date :
2014-04-28T15:47:39
Reduce translator sources compile count to one. With this change, the common sources shared between translator and translator_static are compiled in a static library. There is only one file with exported functions which needs to be compiled for each target. This should reduce ANGLE and chromium build times. BUG=angle:569 Change-Id: I3ce011872323ec988befbd6db731add4fce5787b Reviewed-on: https://chromium-review.googlesource.com/197271 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
//
// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
#include "compiler/translator/intermediate.h"
#include <set>
class TInfoSinkBase;
class ValidateOutputs : public TIntermTraverser
{
public:
ValidateOutputs(TInfoSinkBase& sink, int maxDrawBuffers);
int numErrors() const { return mNumErrors; }
virtual void visitSymbol(TIntermSymbol*);
private:
TInfoSinkBase& mSink;
int mMaxDrawBuffers;
int mNumErrors;
bool mHasUnspecifiedOutputLocation;
typedef std::map<int, TIntermSymbol*> OutputMap;
OutputMap mOutputMap;
std::set<TString> mVisitedSymbols;
void error(TSourceLoc loc, const char *reason, const char* token);
};