aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
diff options
context:
space:
mode:
authorGravatar wangyix <wangyix@google.com>2015-08-13 06:51:35 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-08-13 06:51:35 -0700
commit7ef45a1aeb2c764d41838323f5bcff149c5de756 (patch)
treee68b29b4c9caa932bf00461cb53135e4b11e1f50 /src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
parentc8d3f577aedda087529e25bc48bc64769e410f5a (diff)
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
Diffstat (limited to 'src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp')
-rw-r--r--src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
index a7a35e3676..20bb3a3893 100644
--- a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
@@ -300,3 +300,15 @@ void GrGLFragmentShaderBuilder::addVarying(GrGLVarying* v, GrSLPrecision fsPrec)
}
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);
+}