| Index: src/gpu/gl/GrGLProgramEffects.h
 | 
| diff --git a/src/gpu/gl/GrGLProgramEffects.h b/src/gpu/gl/GrGLProgramEffects.h
 | 
| index 79afa0a1688ad69544b0e58a228fa32f3bb2f0bc..dd3feab8435147f1aebc99572ffc573901349948 100644
 | 
| --- a/src/gpu/gl/GrGLProgramEffects.h
 | 
| +++ b/src/gpu/gl/GrGLProgramEffects.h
 | 
| @@ -39,7 +39,10 @@ public:
 | 
|       * which must be different for every GrEffect subclass. It can fail if an effect uses too many
 | 
|       * textures, attributes, etc for the space allotted in the meta-key.
 | 
|       */
 | 
| -    static bool GenEffectMetaKey(const GrDrawEffect&, const GrGLCaps&, GrEffectKeyBuilder*);
 | 
| +    static bool GenEffectMetaKey(const GrEffectStage&,
 | 
| +                                 bool,
 | 
| +                                 const GrGLCaps&,
 | 
| +                                 GrEffectKeyBuilder*);
 | 
|  
 | 
|      virtual ~GrGLProgramEffects();
 | 
|  
 | 
| @@ -114,9 +117,9 @@ protected:
 | 
|      /**
 | 
|       * Helpers for GenEffectMetaKey.
 | 
|       */
 | 
| -    static uint32_t GenAttribKey(const GrEffect&);
 | 
| -    static uint32_t GenTransformKey(const GrDrawEffect&);
 | 
| -    static uint32_t GenTextureKey(const GrDrawEffect&, const GrGLCaps&);
 | 
| +    static uint32_t GenAttribKey(const GrEffect*);
 | 
| +    static uint32_t GenTransformKey(const GrEffectStage&, bool useExplicitLocalCoords);
 | 
| +    static uint32_t GenTextureKey(const GrEffect*, const GrGLCaps&);
 | 
|  
 | 
|      GrGLProgramEffects(int reserveCount)
 | 
|          : fGLEffects(reserveCount)
 | 
| @@ -128,12 +131,12 @@ protected:
 | 
|       * appends the necessary data to the TextureSamplerArray* object so effects can add texture
 | 
|       * lookups to their code. This method is only meant to be called during the construction phase.
 | 
|       */
 | 
| -    void emitSamplers(GrGLProgramBuilder*, const GrEffect*, TextureSamplerArray*);
 | 
| +    void emitSamplers(GrGLProgramBuilder*, const GrEffect&, TextureSamplerArray*);
 | 
|  
 | 
|      /**
 | 
|       * Helper for setData(). Binds all the textures for an effect.
 | 
|       */
 | 
| -    void bindTextures(GrGpuGL*, const GrEffect*, int effectIdx);
 | 
| +    void bindTextures(GrGpuGL*, const GrEffect&, int effectIdx);
 | 
|  
 | 
|      struct Sampler {
 | 
|          SkDEBUGCODE(Sampler() : fTextureUnit(-1) {})
 | 
| @@ -212,14 +215,15 @@ private:
 | 
|       * TransformedCoordsArray* object, which is in turn passed to the effect's emitCode() function.
 | 
|       */
 | 
|      void emitTransforms(GrGLFullProgramBuilder*,
 | 
| -                        const GrDrawEffect&,
 | 
| +                        const GrEffectStage&,
 | 
|                          TransformedCoordsArray*);
 | 
|  
 | 
|      /**
 | 
|       * Helper for setData(). Sets all the transform matrices for an effect.
 | 
|       */
 | 
| -    void setTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrDrawEffect&, int effectIdx);
 | 
| -    void setPathTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrDrawEffect&,
 | 
| +    void setTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrEffectStage&,
 | 
| +                          int effectIdx);
 | 
| +    void setPathTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrEffectStage&,
 | 
|                                int effectIdx);
 | 
|  
 | 
|      struct Transform {
 | 
| @@ -307,13 +311,13 @@ private:
 | 
|       * effect's emitCode() function.
 | 
|       */
 | 
|      void setupPathTexGen(GrGLFragmentOnlyProgramBuilder*,
 | 
| -                         const GrDrawEffect&,
 | 
| +                         const GrEffectStage&,
 | 
|                           TransformedCoordsArray*);
 | 
|  
 | 
|      /**
 | 
|       * Helper for setData(). Sets the PathTexGen state for each transform in an effect.
 | 
|       */
 | 
| -    void setPathTexGenState(GrGpuGL*, const GrDrawEffect&, int effectIdx);
 | 
| +    void setPathTexGenState(GrGpuGL*, const GrEffectStage&, int effectIdx);
 | 
|  
 | 
|      struct Transforms {
 | 
|          Transforms(uint32_t transformKey, int texCoordIndex)
 | 
| 
 |