Change samplerVariable() to return a const char *.

This allows backends to use an expression rather than a variable for
sampler access.

Change-Id: I2346ac418c8d6277416a4430e2eaf6ab3ffee0a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222036
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/gpu/glsl/GrGLSLShaderBuilder.cpp b/src/gpu/glsl/GrGLSLShaderBuilder.cpp
index 1345399..4105d02 100644
--- a/src/gpu/glsl/GrGLSLShaderBuilder.cpp
+++ b/src/gpu/glsl/GrGLSLShaderBuilder.cpp
@@ -70,8 +70,8 @@
                                               SamplerHandle samplerHandle,
                                               const char* coordName,
                                               GrSLType varyingType) const {
-    const GrShaderVar& sampler = fProgramBuilder->samplerVariable(samplerHandle);
-    out->appendf("texture(%s, %s)", sampler.c_str(), coordName);
+    const char* sampler = fProgramBuilder->samplerVariable(samplerHandle);
+    out->appendf("texture(%s, %s)", sampler, coordName);
     append_texture_swizzle(out, fProgramBuilder->samplerSwizzle(samplerHandle));
 }