Added mangleString member and onBefore*, onAfter* functions to GrGLFragmentShaderBuilder
BUILDS! Added mangleString, onBefore, and onAfterChildProcEmitCode() to GrGLFragmentShaderBuilder.cpp
BUG=skia:4182
Review URL: https://codereview.chromium.org/1288723002
diff --git a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
index a7a35e3..20bb3a3 100644
--- a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
@@ -300,3 +300,15 @@
}
fInputs.push_back().set(v->fType, GrGLShaderVar::kVaryingIn_TypeModifier, v->fFsIn, fsPrec);
}
+
+void GrGLFragmentBuilder::onBeforeChildProcEmitCode() {
+ fSubstageIndices.back()++;
+ fSubstageIndices.push_back(0);
+ fMangleString.append(this->getMangleStringThisLevel());
+}
+
+void GrGLFragmentBuilder::onAfterChildProcEmitCode() {
+ fSubstageIndices.pop_back();
+ int removeAt = fMangleString.findLastOf('_');
+ fMangleString.remove(removeAt, fMangleString.size() - removeAt);
+}