diff options
author | 2015-08-13 06:51:35 -0700 | |
---|---|---|
committer | 2015-08-13 06:51:35 -0700 | |
commit | 7ef45a1aeb2c764d41838323f5bcff149c5de756 (patch) | |
tree | e68b29b4c9caa932bf00461cb53135e4b11e1f50 /src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp | |
parent | c8d3f577aedda087529e25bc48bc64769e410f5a (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.cpp | 12 |
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); +} |