bug fix for k1
authorjoshualitt <joshualitt@chromium.org>
Fri, 24 Oct 2014 22:02:11 +0000 (15:02 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 24 Oct 2014 22:02:11 +0000 (15:02 -0700)
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/675213003

src/gpu/gl/builders/GrGLNvprProgramBuilder.cpp
src/gpu/gl/builders/GrGLNvprProgramBuilder.h

index 86b1d7f..3d991a2 100644 (file)
@@ -39,22 +39,18 @@ void GrGLNvprProgramBuilder::emitTransforms(const GrFragmentStage& processorStag
             suffixedVaryingName.appendf("_%i", t);
             varyingName = suffixedVaryingName.c_str();
         }
-        const char* vsVaryingName;
-        const char* fsVaryingName;
-        ifp->fTransforms[t].fHandle = this->addSeparableVarying(varyingType, varyingName,
-                                                                &vsVaryingName, &fsVaryingName);
+        GrGLVertToFrag v(varyingType);
+        ifp->fTransforms[t].fHandle = this->addSeparableVarying(varyingName, &v);
         ifp->fTransforms[t].fType = varyingType;
 
         SkNEW_APPEND_TO_TARRAY(outCoords, GrGLProcessor::TransformedCoords,
-                               (SkString(fsVaryingName), varyingType));
+                               (SkString(v.fsIn()), varyingType));
     }
 }
 
 GrGLInstalledFragProc::ShaderVarHandle
-GrGLNvprProgramBuilder::addSeparableVarying(GrSLType type,
-                                            const char* name,
-                                            const char** vsOutName,
-                                            const char** fsInName) {
+GrGLNvprProgramBuilder::addSeparableVarying(const char* name, GrGLVarying* v) {
+    this->addVarying(name, v);
     SeparableVaryingInfo& varying = fSeparableVaryingInfos.push_back();
     varying.fVariable = fFS.fInputs.back();
     return GrGLInstalledFragProc::ShaderVarHandle(fSeparableVaryingInfos.count() - 1);
index 4bf7e02..008aff7 100644 (file)
@@ -41,10 +41,7 @@ private:
      * varyings. Without a vertex shader, such as with NV_path_rendering, GL APIs are used to
      * populate the variable. The APIs can refer to the variable through the returned handle.
      */
-    ShaderVarHandle addSeparableVarying(GrSLType type,
-                                      const char* name,
-                                      const char** vsOutName,
-                                      const char** fsInName);
+    ShaderVarHandle addSeparableVarying(const char* name, GrGLVarying* v);
 
     void resolveSeparableVaryings(GrGLuint programId);