Consolidate shader variable storage in Compiler.
The Compiler base class now stores all the shader variables and
interface block information, instead of duplicating the information
in the HLSL translator.
BUG=angle:466
Change-Id: Ia69079fde64fbd6b0cbfc66defd5e37d99ee3e6e
Reviewed-on: https://chromium-review.googlesource.com/206020
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index 4402298..383beca 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -357,9 +357,11 @@
infoSink.obj.erase();
infoSink.debug.erase();
- attribs.clear();
+ attributes.clear();
+ outputVariables.clear();
uniforms.clear();
varyings.clear();
+ interfaceBlocks.clear();
builtInFunctionEmulator.Cleanup();
@@ -483,7 +485,7 @@
void TCompiler::collectVariables(TIntermNode* root)
{
- CollectVariables collect(&attribs, &uniforms, &varyings, hashFunction);
+ CollectVariables collect(&attributes, &uniforms, &varyings, hashFunction);
root->traverse(&collect);
}