Repurpose GrGLCoordTransform as GrGLProgramEffects

Creates a GrGLProgramEffects class that the GrGLProgram uses to manage
an array of effects. This gives us enough abstraction for the program
to cleanly handle different types of coord transforms.

R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11588 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/gpu/GrTBackendEffectFactory.h b/include/gpu/GrTBackendEffectFactory.h
index 9528f8a..3711c7e 100644
--- a/include/gpu/GrTBackendEffectFactory.h
+++ b/include/gpu/GrTBackendEffectFactory.h
@@ -10,6 +10,7 @@
 
 #include "GrBackendEffectFactory.h"
 #include "GrDrawEffect.h"
+#include "gl/GrGLProgramEffects.h"
 
 /**
  * Implements GrBackendEffectFactory for a GrEffect subclass as a singleton.
@@ -34,9 +35,9 @@
                                   const GrGLCaps& caps) const SK_OVERRIDE {
         SkASSERT(kIllegalEffectClassID != fEffectClassID);
         EffectKey effectKey = GLEffect::GenKey(drawEffect, caps);
-        EffectKey textureKey = GLEffect::GenTextureKey(drawEffect, caps);
-        EffectKey transformKey = GLEffect::GenTransformKey(drawEffect);
-        EffectKey attribKey = GLEffect::GenAttribKey(drawEffect);
+        EffectKey textureKey = GrGLProgramEffects::GenTextureKey(drawEffect, caps);
+        EffectKey transformKey = GrGLProgramEffects::GenTransformKey(drawEffect);
+        EffectKey attribKey = GrGLProgramEffects::GenAttribKey(drawEffect);
 #ifdef SK_DEBUG
         static const EffectKey kIllegalEffectKeyMask = (uint16_t) (~((1U << kEffectKeyBits) - 1));
         SkASSERT(!(kIllegalEffectKeyMask & effectKey));