Remove busywork from nameExpression.
It was copying strings back and forth for no benefit.
Change-Id: I5ee2c0a6d1d0f96fb7449d1e540e4d9db0d97dc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382776
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.cpp b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
index ecc24ae..7cb29fc 100644
--- a/src/gpu/glsl/GrGLSLProgramBuilder.cpp
+++ b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
@@ -309,16 +309,11 @@
}
void GrGLSLProgramBuilder::nameExpression(SkString* output, const char* baseName) {
- // create var to hold stage result. If we already have a valid output name, just use that
- // otherwise create a new mangled one. This name is only valid if we are reordering stages
- // and have to tell stage exactly where to put its output.
- SkString outName;
- if (output->size()) {
- outName = output->c_str();
- } else {
- outName = this->nameVariable(/*prefix=*/'\0', baseName);
+ // Name a variable to hold stage result. If we already have a valid output name, use that as-is;
+ // otherwise, create a new mangled one.
+ if (output->isEmpty()) {
+ *output = this->nameVariable(/*prefix=*/'\0', baseName);
}
- *output = outName;
}
void GrGLSLProgramBuilder::appendUniformDecls(GrShaderFlags visibility, SkString* out) const {