Clean up ValidateOutputs
Remove the validateOutputs method from Compiler and replace it with a
static method alongside the traverser. This encapsulates the
ValidateOutputs implementation better.
TEST=angle_unittests
BUG=angleproject:2068
Change-Id: I1788cb9726db41ca35fd0e746f8d48ced7fee74f
Reviewed-on: https://chromium-review.googlesource.com/535477
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index 46da806..909bb96 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -366,7 +366,10 @@
PruneEmptyDeclarations(root);
if (success && shaderVersion >= 300 && shaderType == GL_FRAGMENT_SHADER)
- success = validateOutputs(root);
+ {
+ success = ValidateOutputs(root, getExtensionBehavior(), compileResources.MaxDrawBuffers,
+ &mDiagnostics);
+ }
if (success && shouldRunLoopAndIndexingValidation(compileOptions))
success =
@@ -874,14 +877,6 @@
return true;
}
-bool TCompiler::validateOutputs(TIntermNode *root)
-{
- ValidateOutputs validateOutputs(getExtensionBehavior(), compileResources.MaxDrawBuffers);
- root->traverse(&validateOutputs);
- validateOutputs.validate(&mDiagnostics);
- return (mDiagnostics.numErrors() == 0);
-}
-
bool TCompiler::limitExpressionComplexity(TIntermBlock *root)
{
TMaxDepthTraverser traverser(maxExpressionComplexity + 1);