Break apart shared use of varying and uniform transforms

This is a pre-cl for: https://codereview.chromium.org/1955893002/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1961093002

Review-Url: https://codereview.chromium.org/1961093002
diff --git a/src/gpu/GrPathProcessor.cpp b/src/gpu/GrPathProcessor.cpp
index f01b240..5237ba1 100644
--- a/src/gpu/GrPathProcessor.cpp
+++ b/src/gpu/GrPathProcessor.cpp
@@ -97,7 +97,7 @@
                           int index,
                           const SkTArray<const GrCoordTransform*, true>& coordTransforms) override {
         const GrPathProcessor& pathProc = primProc.cast<GrPathProcessor>();
-        SkSTArray<2, Transform, true>& transforms = fInstalledTransforms[index];
+        SkSTArray<2, VaryingTransform, true>& transforms = fInstalledTransforms[index];
         int numTransforms = transforms.count();
         for (int t = 0; t < numTransforms; ++t) {
             SkASSERT(transforms[t].fHandle.isValid());
@@ -116,6 +116,14 @@
     }
 
 private:
+    typedef GrGLSLProgramDataManager::VaryingHandle VaryingHandle;
+    struct VaryingTransform : public Transform {
+        VaryingTransform() : Transform() {}
+        VaryingHandle  fHandle;
+    };
+
+    SkSTArray<8, SkSTArray<2, VaryingTransform, true> > fInstalledTransforms;
+
     UniformHandle fColorUniform;
     GrColor fColor;
 
diff --git a/src/gpu/glsl/GrGLSLGeometryProcessor.h b/src/gpu/glsl/GrGLSLGeometryProcessor.h
index af7d919..72f00f1 100644
--- a/src/gpu/glsl/GrGLSLGeometryProcessor.h
+++ b/src/gpu/glsl/GrGLSLGeometryProcessor.h
@@ -100,7 +100,7 @@
                                 const GrGLSLProgramDataManager& pdman,
                                 int index,
                                 const SkTArray<const GrCoordTransform*, true>& transforms) {
-        SkSTArray<2, Transform, true>& procTransforms = fInstalledTransforms[index];
+        SkSTArray<2, UniformTransform, true>& procTransforms = fInstalledTransforms[index];
         int numTransforms = transforms.count();
         for (int t = 0; t < numTransforms; ++t) {
             SkASSERT(procTransforms[t].fHandle.isValid());
@@ -114,6 +114,13 @@
 
     virtual void onEmitCode(EmitArgs&, GrGPArgs*) = 0;
 
+    struct UniformTransform : public Transform {
+        UniformTransform() : Transform() {}
+        UniformHandle  fHandle;
+    };
+
+    SkSTArray<8, SkSTArray<2, UniformTransform, true> > fInstalledTransforms;
+
     typedef GrGLSLPrimitiveProcessor INHERITED;
 };
 
diff --git a/src/gpu/glsl/GrGLSLPrimitiveProcessor.h b/src/gpu/glsl/GrGLSLPrimitiveProcessor.h
index 3bb1db9..d726027 100644
--- a/src/gpu/glsl/GrGLSLPrimitiveProcessor.h
+++ b/src/gpu/glsl/GrGLSLPrimitiveProcessor.h
@@ -102,12 +102,9 @@
 
     struct Transform {
         Transform() : fType(kVoid_GrSLType) { fCurrentValue = SkMatrix::InvalidMatrix(); }
-        UniformHandle  fHandle;
         SkMatrix       fCurrentValue;
         GrSLType       fType;
     };
-
-    SkSTArray<8, SkSTArray<2, Transform, true> > fInstalledTransforms;
 };
 
 #endif