Rename StageKey and related stuff.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6785049

git-svn-id: http://skia.googlecode.com/svn/trunk@6130 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/gpu/GrBackendEffectFactory.h b/include/gpu/GrBackendEffectFactory.h
index fae45fc..89562d5 100644
--- a/include/gpu/GrBackendEffectFactory.h
+++ b/include/gpu/GrBackendEffectFactory.h
@@ -23,13 +23,19 @@
 
 class GrBackendEffectFactory : public GrNoncopyable {
 public:
-    typedef uint32_t StageKey;
+    typedef uint32_t EffectKey;
     enum {
-        kProgramStageKeyBits = 10,
-        kTexturingStageKeyBits = 6
+        kEffectKeyBits = 10,
+        /**
+         * Some aspects of the generated code may be determined by the particular textures that are
+         * associated with the effect. These manipulations are performed by GrGLShaderBuilder beyond
+         * GrGLEffects' control. So there is a dedicated part of the key which is combined
+         * automatically with the bits produced by GrGLEffect::GenKey().
+         */
+        kTextureKeyBits = 6
     };
 
-    virtual StageKey glStageKey(const GrEffect&, const GrGLCaps&) const = 0;
+    virtual EffectKey glEffectKey(const GrEffect&, const GrGLCaps&) const = 0;
     virtual GrGLEffect* createGLInstance(const GrEffect&) const = 0;
 
     bool operator ==(const GrBackendEffectFactory& b) const {
@@ -50,16 +56,16 @@
         fEffectClassID = kIllegalEffectClassID;
     }
 
-    static StageKey GenID() {
+    static EffectKey GenID() {
         // fCurrEffectClassID has been initialized to kIllegalEffectClassID. The
         // atomic inc returns the old value not the incremented value. So we add
         // 1 to the returned value.
         int32_t id = sk_atomic_inc(&fCurrEffectClassID) + 1;
-        GrAssert(id < (1 << (8 * sizeof(StageKey) - kProgramStageKeyBits)));
+        GrAssert(id < (1 << (8 * sizeof(EffectKey) - kEffectKeyBits)));
         return id;
     }
 
-    StageKey fEffectClassID;
+    EffectKey fEffectClassID;
 
 private:
     static int32_t fCurrEffectClassID;
@@ -81,19 +87,18 @@
         id identifies the GrEffect subclass. The remainder is based
         on the aspects of the GrEffect object's configuration that affect
         GLSL code generation. */
-    virtual StageKey glStageKey(const GrEffect& effect, const GrGLCaps& caps) const SK_OVERRIDE {
+    virtual EffectKey glEffectKey(const GrEffect& effect, const GrGLCaps& caps) const SK_OVERRIDE {
         GrAssert(kIllegalEffectClassID != fEffectClassID);
-        StageKey stageID = GLEffect::GenKey(effect, caps);
-        StageKey textureKey = GLEffect::GenTextureKey(effect, caps);
+        EffectKey effectKey = GLEffect::GenKey(effect, caps);
+        EffectKey textureKey = GLEffect::GenTextureKey(effect, caps);
 #if GR_DEBUG
-        static const StageKey kIllegalIDMask = (uint16_t) (~((1U << kProgramStageKeyBits) - 1));
-        GrAssert(!(kIllegalIDMask & stageID));
+        static const EffectKey kIllegalIDMask = (uint16_t) (~((1U << kEffectKeyBits) - 1));
+        GrAssert(!(kIllegalIDMask & effectKey));
 
-        static const StageKey kIllegalTextureKeyMask =
-            (uint16_t) (~((1U << kTexturingStageKeyBits) - 1));
+        static const EffectKey kIllegalTextureKeyMask = (uint16_t) (~((1U << kTextureKeyBits) - 1));
         GrAssert(!(kIllegalTextureKeyMask & textureKey));
 #endif
-        return fEffectClassID | (textureKey << kProgramStageKeyBits) | stageID;
+        return fEffectClassID | (textureKey << kEffectKeyBits) | effectKey;
     }
 
     /** Returns a new instance of the appropriate *GL* implementation class
@@ -117,7 +122,7 @@
 
 protected:
     GrTBackendEffectFactory() {
-        fEffectClassID = GenID() << (kProgramStageKeyBits + kTexturingStageKeyBits) ;
+        fEffectClassID = GenID() << (kEffectKeyBits + kTextureKeyBits) ;
     }
 };
 
diff --git a/include/gpu/GrEffect.h b/include/gpu/GrEffect.h
index e3c662b..d7209ff 100644
--- a/include/gpu/GrEffect.h
+++ b/include/gpu/GrEffect.h
@@ -33,7 +33,7 @@
 public:
     SK_DECLARE_INST_COUNT(GrEffect)
 
-    typedef GrBackendEffectFactory::StageKey StageKey;
+    typedef GrBackendEffectFactory::EffectKey EffectKey;
 
     explicit GrEffect(int numTextures);
     virtual ~GrEffect();
@@ -66,8 +66,8 @@
         Equality is not the same thing as equivalence.
         To test for equivalence (that they will generate the same
         shader code, but may have different uniforms), check equality
-        of the stageKey produced by the GrBackendEffectFactory:
-        a.getFactory().glStageKey(a) == b.getFactory().glStageKey(b).
+        of the EffectKey produced by the GrBackendEffectFactory:
+        a.getFactory().glEffectKey(a) == b.getFactory().glEffectKey(b).
 
         The default implementation of this function returns true iff
         the two stages have the same return value for numTextures() and
diff --git a/src/effects/SkBlendImageFilter.cpp b/src/effects/SkBlendImageFilter.cpp
index 10104cc..c87c5d3 100644
--- a/src/effects/SkBlendImageFilter.cpp
+++ b/src/effects/SkBlendImageFilter.cpp
@@ -124,7 +124,7 @@
     virtual void emitVS(GrGLShaderBuilder* builder,
                         const char* vertexCoords) SK_OVERRIDE {}
 
-    static inline StageKey GenKey(const GrEffect& s, const GrGLCaps&);
+    static inline EffectKey GenKey(const GrEffect& s, const GrGLCaps&);
 
 private:
     typedef GrGLLegacyEffect INHERITED;
@@ -275,7 +275,7 @@
     }
 }
 
-GrGLEffect::StageKey GrGLBlendEffect::GenKey(const GrEffect& s, const GrGLCaps&) {
+GrGLEffect::EffectKey GrGLBlendEffect::GenKey(const GrEffect& s, const GrGLCaps&) {
     return static_cast<const GrBlendEffect&>(s).mode();
 }
 #endif
diff --git a/src/effects/SkColorMatrixFilter.cpp b/src/effects/SkColorMatrixFilter.cpp
index 5e2b960..ca23452 100644
--- a/src/effects/SkColorMatrixFilter.cpp
+++ b/src/effects/SkColorMatrixFilter.cpp
@@ -342,7 +342,7 @@
     class GLEffect : public GrGLLegacyEffect {
     public:
         // this class always generates the same code.
-        static StageKey GenKey(const GrEffect& s, const GrGLCaps&) { return 0; }
+        static EffectKey GenKey(const GrEffect& s, const GrGLCaps&) { return 0; }
 
         GLEffect(const GrBackendEffectFactory& factory,
                  const GrEffect& effect)
diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp
index 8464f6e..a83fe58 100644
--- a/src/effects/SkLightingImageFilter.cpp
+++ b/src/effects/SkLightingImageFilter.cpp
@@ -955,7 +955,7 @@
 
     virtual void emitLightFunc(GrGLShaderBuilder*, SkString* funcName) = 0;
 
-    static inline StageKey GenKey(const GrEffect& s, const GrGLCaps& caps);
+    static inline EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps);
 
     virtual void setData(const GrGLUniformManager&, const GrEffect&) SK_OVERRIDE;
 
@@ -1168,7 +1168,7 @@
     GrGLSLMulVarBy4f(code, 2, outputColor, inputColor);
 }
 
-GrGLEffect::StageKey GrGLLightingEffect::GenKey(const GrEffect& s,
+GrGLEffect::EffectKey GrGLLightingEffect::GenKey(const GrEffect& s,
                                                       const GrGLCaps& caps) {
     return static_cast<const GrLightingEffect&>(s).light()->type();
 }
diff --git a/src/effects/SkMagnifierImageFilter.cpp b/src/effects/SkMagnifierImageFilter.cpp
index 67ae13c..3b306c1 100644
--- a/src/effects/SkMagnifierImageFilter.cpp
+++ b/src/effects/SkMagnifierImageFilter.cpp
@@ -88,7 +88,7 @@
     virtual void setData(const GrGLUniformManager& uman,
                          const GrEffect& data) SK_OVERRIDE;
 
-    static inline StageKey GenKey(const GrEffect&, const GrGLCaps&);
+    static inline EffectKey GenKey(const GrEffect&, const GrGLCaps&);
 
 private:
 
@@ -174,7 +174,7 @@
     uman.set2f(fInsetVar, zoom.x_inset(), zoom.y_inset());
 }
 
-GrGLEffect::StageKey GrGLMagnifierEffect::GenKey(const GrEffect& s,
+GrGLEffect::EffectKey GrGLMagnifierEffect::GenKey(const GrEffect& s,
                                                        const GrGLCaps& caps) {
     return 0;
 }
diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp
index c650539..a1ece00 100644
--- a/src/effects/SkMatrixConvolutionImageFilter.cpp
+++ b/src/effects/SkMatrixConvolutionImageFilter.cpp
@@ -291,7 +291,7 @@
                         const char* inputColor,
                         const TextureSamplerArray&) SK_OVERRIDE;
 
-    static inline StageKey GenKey(const GrEffect& s, const GrGLCaps& caps);
+    static inline EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps);
 
     virtual void setData(const GrGLUniformManager&, const GrEffect&) SK_OVERRIDE;
 
@@ -415,10 +415,10 @@
 
 };
 
-GrGLEffect::StageKey GrGLMatrixConvolutionEffect::GenKey(const GrEffect& s,
+GrGLEffect::EffectKey GrGLMatrixConvolutionEffect::GenKey(const GrEffect& s,
                                                         const GrGLCaps& caps) {
     const GrMatrixConvolutionEffect& m = static_cast<const GrMatrixConvolutionEffect&>(s);
-    StageKey key = encodeXY(m.kernelSize().width(), m.kernelSize().height());
+    EffectKey key = encodeXY(m.kernelSize().width(), m.kernelSize().height());
     key |= m.tileMode() << 7;
     key |= m.convolveAlpha() ? 1 << 9 : 0;
     return key;
diff --git a/src/effects/SkMorphologyImageFilter.cpp b/src/effects/SkMorphologyImageFilter.cpp
index d623c6f..1d243b9 100644
--- a/src/effects/SkMorphologyImageFilter.cpp
+++ b/src/effects/SkMorphologyImageFilter.cpp
@@ -279,7 +279,7 @@
                         const char* inputColor,
                         const TextureSamplerArray&) SK_OVERRIDE;
 
-    static inline StageKey GenKey(const GrEffect& s, const GrGLCaps& caps);
+    static inline EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps);
 
     virtual void setData(const GrGLUniformManager&, const GrEffect&) SK_OVERRIDE;
 
@@ -341,10 +341,10 @@
     GrGLSLMulVarBy4f(code, 2, outputColor, inputColor);
 }
 
-GrGLEffect::StageKey GrGLMorphologyEffect::GenKey(const GrEffect& s,
+GrGLEffect::EffectKey GrGLMorphologyEffect::GenKey(const GrEffect& s,
                                                         const GrGLCaps& caps) {
     const GrMorphologyEffect& m = static_cast<const GrMorphologyEffect&>(s);
-    StageKey key = static_cast<StageKey>(m.radius());
+    EffectKey key = static_cast<EffectKey>(m.radius());
     key |= (m.type() << 8);
     return key;
 }
diff --git a/src/effects/SkTableColorFilter.cpp b/src/effects/SkTableColorFilter.cpp
index fe90f02..16678c4 100644
--- a/src/effects/SkTableColorFilter.cpp
+++ b/src/effects/SkTableColorFilter.cpp
@@ -259,7 +259,7 @@
 
     virtual void setData(const GrGLUniformManager&, const GrEffect&) SK_OVERRIDE {}
 
-    static StageKey GenKey(const GrEffect&, const GrGLCaps&);
+    static EffectKey GenKey(const GrEffect&, const GrGLCaps&);
 
 private:
 
@@ -312,7 +312,7 @@
     code->appendf("\t\t%s.rgb *= %s.a;\n", outputColor, outputColor);
 }
 
-GrGLEffect::StageKey GLColorTableEffect::GenKey(const GrEffect& s,
+GrGLEffect::EffectKey GLColorTableEffect::GenKey(const GrEffect& s,
                                                         const GrGLCaps& caps) {
     return 0;
 }
diff --git a/src/effects/gradients/SkLinearGradient.cpp b/src/effects/gradients/SkLinearGradient.cpp
index 1154d13..740f66f 100644
--- a/src/effects/gradients/SkLinearGradient.cpp
+++ b/src/effects/gradients/SkLinearGradient.cpp
@@ -491,7 +491,7 @@
                         const char* outputColor,
                         const char* inputColor,
                         const TextureSamplerArray&) SK_OVERRIDE;
-    static StageKey GenKey(const GrEffect& s, const GrGLCaps& caps) { return 0; }
+    static EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps) { return 0; }
 
 private:
 
diff --git a/src/effects/gradients/SkRadialGradient.cpp b/src/effects/gradients/SkRadialGradient.cpp
index dac1dc0..ee1ce66 100644
--- a/src/effects/gradients/SkRadialGradient.cpp
+++ b/src/effects/gradients/SkRadialGradient.cpp
@@ -487,7 +487,7 @@
                         const char* inputColor,
                         const TextureSamplerArray&) SK_OVERRIDE;
 
-    static StageKey GenKey(const GrEffect& s, const GrGLCaps& caps) { return 0; }
+    static EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps) { return 0; }
 
 private:
 
diff --git a/src/effects/gradients/SkSweepGradient.cpp b/src/effects/gradients/SkSweepGradient.cpp
index 768f59d..726ccbf 100644
--- a/src/effects/gradients/SkSweepGradient.cpp
+++ b/src/effects/gradients/SkSweepGradient.cpp
@@ -396,7 +396,7 @@
                         const char* inputColor,
                         const TextureSamplerArray&) SK_OVERRIDE;
 
-    static StageKey GenKey(const GrEffect& s, const GrGLCaps& caps) { return 0; }
+    static EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps) { return 0; }
 
 private:
 
diff --git a/src/effects/gradients/SkTwoPointConicalGradient.cpp b/src/effects/gradients/SkTwoPointConicalGradient.cpp
index 4150d2c..6e09772 100644
--- a/src/effects/gradients/SkTwoPointConicalGradient.cpp
+++ b/src/effects/gradients/SkTwoPointConicalGradient.cpp
@@ -335,7 +335,7 @@
                         const TextureSamplerArray&) SK_OVERRIDE;
     virtual void setData(const GrGLUniformManager&, const GrEffect&) SK_OVERRIDE;
 
-    static StageKey GenKey(const GrEffect& s, const GrGLCaps& caps);
+    static EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps);
 
 protected:
 
@@ -663,7 +663,7 @@
     }
 }
 
-GrEffect::StageKey GrGLConical2Gradient::GenKey(const GrEffect& s, const GrGLCaps& caps) {
+GrEffect::EffectKey GrGLConical2Gradient::GenKey(const GrEffect& s, const GrGLCaps& caps) {
     return (static_cast<const GrConical2Gradient&>(s).isDegenerate());
 }
 
diff --git a/src/effects/gradients/SkTwoPointRadialGradient.cpp b/src/effects/gradients/SkTwoPointRadialGradient.cpp
index e367276..a9f81f6 100644
--- a/src/effects/gradients/SkTwoPointRadialGradient.cpp
+++ b/src/effects/gradients/SkTwoPointRadialGradient.cpp
@@ -370,7 +370,7 @@
                         const TextureSamplerArray&) SK_OVERRIDE;
     virtual void setData(const GrGLUniformManager&, const GrEffect&) SK_OVERRIDE;
 
-    static StageKey GenKey(const GrEffect& s, const GrGLCaps& caps);
+    static EffectKey GenKey(const GrEffect& s, const GrGLCaps& caps);
 
 protected:
 
@@ -636,7 +636,7 @@
     }
 }
 
-GrEffect::StageKey GrGLRadial2Gradient::GenKey(const GrEffect& s, const GrGLCaps& caps) {
+GrEffect::EffectKey GrGLRadial2Gradient::GenKey(const GrEffect& s, const GrGLCaps& caps) {
     return (static_cast<const GrRadial2Gradient&>(s).isDegenerate());
 }
 
diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp
index 652c6bc..b6a69f2 100644
--- a/src/gpu/effects/GrConfigConversionEffect.cpp
+++ b/src/gpu/effects/GrConfigConversionEffect.cpp
@@ -58,7 +58,7 @@
         GrGLSLMulVarBy4f(&builder->fFSCode, 2, outputColor, inputColor);
     }
 
-    static inline StageKey GenKey(const GrEffect& s, const GrGLCaps&) {
+    static inline EffectKey GenKey(const GrEffect& s, const GrGLCaps&) {
         const GrConfigConversionEffect& effect = static_cast<const GrConfigConversionEffect&>(s);
         return static_cast<int>(effect.swapsRedAndBlue()) | (effect.pmConversion() << 1);
     }
diff --git a/src/gpu/effects/GrConvolutionEffect.cpp b/src/gpu/effects/GrConvolutionEffect.cpp
index 4c42987..6930bec 100644
--- a/src/gpu/effects/GrConvolutionEffect.cpp
+++ b/src/gpu/effects/GrConvolutionEffect.cpp
@@ -29,7 +29,7 @@
 
     virtual void setData(const GrGLUniformManager& uman, const GrEffect&) SK_OVERRIDE;
 
-    static inline StageKey GenKey(const GrEffect&, const GrGLCaps&);
+    static inline EffectKey GenKey(const GrEffect&, const GrGLCaps&);
 
 private:
     int width() const { return Gr1DKernelEffect::WidthFromRadius(fRadius); }
@@ -108,7 +108,7 @@
     uman.set1fv(fKernelUni, 0, this->width(), conv.kernel());
 }
 
-GrGLEffect::StageKey GrGLConvolutionEffect::GenKey(const GrEffect& s,
+GrGLEffect::EffectKey GrGLConvolutionEffect::GenKey(const GrEffect& s,
                                                          const GrGLCaps& caps) {
     return static_cast<const GrConvolutionEffect&>(s).radius();
 }
diff --git a/src/gpu/effects/GrSingleTextureEffect.cpp b/src/gpu/effects/GrSingleTextureEffect.cpp
index 0ba748c..844bff7 100644
--- a/src/gpu/effects/GrSingleTextureEffect.cpp
+++ b/src/gpu/effects/GrSingleTextureEffect.cpp
@@ -29,7 +29,7 @@
         builder->fFSCode.append(";\n");
     }
 
-    static inline StageKey GenKey(const GrEffect&, const GrGLCaps&) { return 0; }
+    static inline EffectKey GenKey(const GrEffect&, const GrGLCaps&) { return 0; }
 
 private:
 
diff --git a/src/gpu/effects/GrTextureDomainEffect.cpp b/src/gpu/effects/GrTextureDomainEffect.cpp
index bfbab29..1c2ad33 100644
--- a/src/gpu/effects/GrTextureDomainEffect.cpp
+++ b/src/gpu/effects/GrTextureDomainEffect.cpp
@@ -23,7 +23,7 @@
 
     virtual void setData(const GrGLUniformManager&, const GrEffect&) SK_OVERRIDE;
 
-    static inline StageKey GenKey(const GrEffect&, const GrGLCaps&) { return 0; }
+    static inline EffectKey GenKey(const GrEffect&, const GrGLCaps&) { return 0; }
 
 private:
     GrGLUniformManager::UniformHandle fNameUni;
diff --git a/src/gpu/gl/GrGLEffect.cpp b/src/gpu/gl/GrGLEffect.cpp
index 3f8417c..b53a1cf 100644
--- a/src/gpu/gl/GrGLEffect.cpp
+++ b/src/gpu/gl/GrGLEffect.cpp
@@ -20,12 +20,12 @@
 void GrGLEffect::setData(const GrGLUniformManager&, const GrEffect&) {
 }
 
-GrGLEffect::StageKey GrGLEffect::GenTextureKey(const GrEffect& effect,
+GrGLEffect::EffectKey GrGLEffect::GenTextureKey(const GrEffect& effect,
                                                            const GrGLCaps& caps) {
-    StageKey key = 0;
+    EffectKey key = 0;
     for (int index = 0; index < effect.numTextures(); ++index) {
         const GrTextureAccess& access = effect.textureAccess(index);
-        StageKey value = GrGLShaderBuilder::KeyForTextureAccess(access, caps) << index;
+        EffectKey value = GrGLShaderBuilder::KeyForTextureAccess(access, caps) << index;
         GrAssert(0 == (value & key)); // keys for each access ought not to overlap
         key |= value;
     }
diff --git a/src/gpu/gl/GrGLEffect.h b/src/gpu/gl/GrGLEffect.h
index 404f275..132c3d7 100644
--- a/src/gpu/gl/GrGLEffect.h
+++ b/src/gpu/gl/GrGLEffect.h
@@ -23,7 +23,7 @@
     include/gpu/GrEffect.h. Objects of type GrGLEffect are responsible for emitting the
     GLSL code that implements a GrEffect and for uploading uniforms at draw time. They also
     must have a function:
-        static inline StageKey GenKey(const GrEffect&, const GrGLCaps&)
+        static inline EffectKey GenKey(const GrEffect&, const GrGLCaps&)
     that is used to implement a program cache. When two GrEffects produce the same key this means
     that their GrGLEffects would emit the same GLSL code.
 
@@ -33,10 +33,10 @@
 class GrGLEffect {
 
 public:
-    typedef GrEffect::StageKey StageKey;
+    typedef GrEffect::EffectKey EffectKey;
     enum {
-        // the number of bits in StageKey available to GenKey
-        kProgramStageKeyBits = GrBackendEffectFactory::kProgramStageKeyBits,
+        // the number of bits in EffectKey available to GenKey
+        kEffectKeyBits = GrBackendEffectFactory::kEffectKeyBits,
     };
 
     typedef GrGLShaderBuilder::TextureSamplerArray TextureSamplerArray;
@@ -51,7 +51,7 @@
 
         @param builder      Interface used to emit code in the shaders.
         @param effect       The effect that generated this program stage.
-        @param key          The key that was computed by StageKey() from the generating GrEffect.
+        @param key          The key that was computed by EffectKey() from the generating GrEffect.
         @param vertexCoords A vec2 of texture coordinates in the VS, which may be altered. This will
                             be removed soon and stages will be responsible for computing their own
                             coords.
@@ -68,7 +68,7 @@
         */
     virtual void emitCode(GrGLShaderBuilder* builder,
                           const GrEffect& effect,
-                          StageKey key,
+                          EffectKey key,
                           const char* vertexCoords,
                           const char* outputColor,
                           const char* inputColor,
@@ -81,7 +81,7 @@
 
     const char* name() const { return fFactory.name(); }
 
-    static StageKey GenTextureKey(const GrEffect&, const GrGLCaps&);
+    static EffectKey GenTextureKey(const GrEffect&, const GrGLCaps&);
 
 protected:
 
@@ -107,7 +107,7 @@
 
     virtual void emitCode(GrGLShaderBuilder* builder,
                           const GrEffect&,
-                          StageKey,
+                          EffectKey,
                           const char* vertexCoords,
                           const char* outputColor,
                           const char* inputColor,
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp
index cbcd2d5..fd01e0d 100644
--- a/src/gpu/gl/GrGLProgram.cpp
+++ b/src/gpu/gl/GrGLProgram.cpp
@@ -80,7 +80,7 @@
     fRTHeight = -1;
 
     for (int s = 0; s < GrDrawState::kNumStages; ++s) {
-        fProgramStage[s] = NULL;
+        fEffects[s] = NULL;
         fTextureMatrices[s] = GrMatrix::InvalidMatrix();
         // this is arbitrary, just initialize to something
         fTextureOrientation[s] = GrGLTexture::kBottomUp_Orientation;
@@ -104,7 +104,7 @@
     }
 
     for (int i = 0; i < GrDrawState::kNumStages; ++i) {
-        delete fProgramStage[i];
+        delete fEffects[i];
     }
 }
 
@@ -624,13 +624,13 @@
                 }
 
                 builder.setCurrentStage(s);
-                fProgramStage[s] = GenStageCode(effects[s],
-                                                fDesc.fStages[s],
-                                                &fUniforms.fStages[s],
-                                                inColor.size() ? inColor.c_str() : NULL,
-                                                outColor.c_str(),
-                                                inCoords,
-                                                &builder);
+                fEffects[s] = GenStageCode(effects[s],
+                                           fDesc.fStages[s],
+                                           &fUniforms.fStages[s],
+                                           inColor.size() ? inColor.c_str() : NULL,
+                                           outColor.c_str(),
+                                           inCoords,
+                                           &builder);
                 builder.setNonStage();
                 inColor = outColor;
             }
@@ -729,13 +729,13 @@
                         inCoverage.append("4");
                     }
                     builder.setCurrentStage(s);
-                    fProgramStage[s] = GenStageCode(effects[s],
-                                                    fDesc.fStages[s],
-                                                    &fUniforms.fStages[s],
-                                                    inCoverage.size() ? inCoverage.c_str() : NULL,
-                                                    outCoverage.c_str(),
-                                                    inCoords,
-                                                    &builder);
+                    fEffects[s] = GenStageCode(effects[s],
+                                               fDesc.fStages[s],
+                                               &fUniforms.fStages[s],
+                                               inCoverage.size() ? inCoverage.c_str() : NULL,
+                                               outCoverage.c_str(),
+                                               inCoords,
+                                               &builder);
                     builder.setNonStage();
                     inCoverage = outCoverage;
                 }
@@ -957,7 +957,7 @@
     builder->fFSCode.appendf("\t{ // %s \n", glStage->name());
     glStage->emitCode(builder,
                       *effect,
-                      desc.fCustomStageKey,
+                      desc.fEffectKey,
                       varyingVSName,
                       fsOutColor,
                       fsInColor,
@@ -975,10 +975,10 @@
         fRTHeight = rtHeight;
     }
     for (int s = 0; s < GrDrawState::kNumStages; ++s) {
-        if (NULL != fProgramStage[s]) {
+        if (NULL != fEffects[s]) {
             const GrSamplerState& sampler = drawState.getSampler(s);
             GrAssert(NULL != sampler.getEffect());
-            fProgramStage[s]->setData(fUniformManager, *sampler.getEffect());
+            fEffects[s]->setData(fUniformManager, *sampler.getEffect());
         }
     }
 }
diff --git a/src/gpu/gl/GrGLProgram.h b/src/gpu/gl/GrGLProgram.h
index 57c6d22..8adcd62 100644
--- a/src/gpu/gl/GrGLProgram.h
+++ b/src/gpu/gl/GrGLProgram.h
@@ -96,9 +96,8 @@
 
             uint8_t fOptFlags;
 
-            /** Non-zero if user-supplied code will write the stage's
-                contribution to the fragment shader. */
-            GrBackendEffectFactory::StageKey fCustomStageKey;
+            /** Non-zero if this stage has an effect */
+            GrBackendEffectFactory::EffectKey fEffectKey;
 
             inline bool isEnabled() const {
                 return SkToBool(fOptFlags & kIsEnabled_OptFlagBit);
@@ -254,7 +253,7 @@
     GrMatrix                    fTextureMatrices[GrDrawState::kNumStages];
     GrGLTexture::Orientation    fTextureOrientation[GrDrawState::kNumStages];
 
-    GrGLEffect*           fProgramStage[GrDrawState::kNumStages];
+    GrGLEffect*                 fEffects[GrDrawState::kNumStages];
 
     Desc fDesc;
     const GrGLContextInfo&      fContextInfo;
diff --git a/src/gpu/gl/GrGLShaderBuilder.cpp b/src/gpu/gl/GrGLShaderBuilder.cpp
index a915cfa..e736231 100644
--- a/src/gpu/gl/GrGLShaderBuilder.cpp
+++ b/src/gpu/gl/GrGLShaderBuilder.cpp
@@ -153,9 +153,9 @@
     GrGLSLModulate4f(out, modulation, lookup.c_str());
 }
 
-GrEffect::StageKey GrGLShaderBuilder::KeyForTextureAccess(const GrTextureAccess& access,
-                                                               const GrGLCaps& caps) {
-    GrEffect::StageKey key = 0;
+GrEffect::EffectKey GrGLShaderBuilder::KeyForTextureAccess(const GrTextureAccess& access,
+                                                           const GrGLCaps& caps) {
+    GrEffect::EffectKey key = 0;
 
     // Assume that swizzle support implies that we never have to modify a shader to adjust
     // for texture format/swizzle settings.
diff --git a/src/gpu/gl/GrGLShaderBuilder.h b/src/gpu/gl/GrGLShaderBuilder.h
index d60f33f..fa68268 100644
--- a/src/gpu/gl/GrGLShaderBuilder.h
+++ b/src/gpu/gl/GrGLShaderBuilder.h
@@ -119,11 +119,11 @@
                       const char* body,
                       SkString* outName);
 
-    /** Generates a StageKey for the shader code based on the texture access parameters and the
+    /** Generates a EffectKey for the shader code based on the texture access parameters and the
         capabilities of the GL context.  This is useful for keying the shader programs that may
         have multiple representations, based on the type/format of textures used. */
-    static GrEffect::StageKey KeyForTextureAccess(const GrTextureAccess& access,
-                                                       const GrGLCaps& caps);
+    static GrEffect::EffectKey KeyForTextureAccess(const GrTextureAccess& access,
+                                                   const GrGLCaps& caps);
 
     /** If texture swizzling is available using tex parameters then it is preferred over mangling
         the generated shader code. This potentially allows greater reuse of cached shaders. */
diff --git a/src/gpu/gl/GrGpuGL_program.cpp b/src/gpu/gl/GrGpuGL_program.cpp
index dfb1123..d0b7b57 100644
--- a/src/gpu/gl/GrGpuGL_program.cpp
+++ b/src/gpu/gl/GrGpuGL_program.cpp
@@ -573,10 +573,10 @@
     const GrEffect* effect = sampler.getEffect();
     if (effect) {
         const GrBackendEffectFactory& factory = effect->getFactory();
-        stage->fCustomStageKey = factory.glStageKey(*effect, caps);
+        stage->fEffectKey = factory.glEffectKey(*effect, caps);
         effects[index] = effect;
     } else {
-        stage->fCustomStageKey = 0;
+        stage->fEffectKey = 0;
         effects[index] = NULL;
     }
 }
@@ -695,8 +695,8 @@
             setup_effect(&stage, sampler, this->glCaps(), effects, fCurrentProgram.get(), s);
 
         } else {
-            stage.fOptFlags         = 0;
-            stage.fCustomStageKey   = 0;
+            stage.fOptFlags  = 0;
+            stage.fEffectKey = 0;
             effects[s] = NULL;
         }
     }
diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
index b95a0bf..e6b2f56 100644
--- a/tests/GLProgramsTest.cpp
+++ b/tests/GLProgramsTest.cpp
@@ -136,7 +136,7 @@
                 pdesc.fVertexLayout |= kTextFormat_VertexLayoutBit;
             }
 
-            stage.fCustomStageKey = 0;
+            stage.fEffectKey = 0;
 
             stage.fOptFlags |= STAGE_OPTS[random_int(&random, GR_ARRAY_COUNT(STAGE_OPTS))];
 
@@ -147,8 +147,8 @@
                                                       getContext(),
                                                       dummyTextures));
                 if (NULL != effects[s]) {
-                    stage.fCustomStageKey =
-                        effects[s]->getFactory().glStageKey(*effects[s], this->glCaps());
+                    stage.fEffectKey =
+                        effects[s]->getFactory().glEffectKey(*effects[s], this->glCaps());
                 }
             }
         }