| Index: src/gpu/GrPipeline.h | 
| diff --git a/src/gpu/GrPipeline.h b/src/gpu/GrPipeline.h | 
| index 3b5181831a0c294320dd97d5716ae3da9d370817..77adb368d74dab81ccd385271f6a5d9428b37e93 100644 | 
| --- a/src/gpu/GrPipeline.h | 
| +++ b/src/gpu/GrPipeline.h | 
| @@ -37,9 +37,12 @@ public: | 
| const GrXferProcessor::DstTexture*); | 
|  | 
| /* | 
| -     * Returns true if these pipelines are equivalent. | 
| +     * Returns true if these pipelines are equivalent.  Coord transforms may be applied either on | 
| +     * the GPU or the CPU. When we apply them on the CPU then the matrices need not agree in order | 
| +     * to combine draws. Therefore we take a param that indicates whether coord transforms should be | 
| +     * compared." | 
| */ | 
| -    bool isEqual(const GrPipeline& that) const; | 
| +    bool isEqual(const GrPipeline& that, bool ignoreCoordTransforms = false) const; | 
|  | 
| /// @} | 
|  | 
| @@ -100,6 +103,10 @@ public: | 
| return fInfoForPrimitiveProcessor; | 
| } | 
|  | 
| +    const SkTArray<const GrCoordTransform*, true>& coordTransforms() const { | 
| +        return fCoordTransforms; | 
| +    } | 
| + | 
| private: | 
| /** | 
| * Alter the program desc and inputs (attribs and processors) based on the blend optimization. | 
| @@ -141,7 +148,9 @@ private: | 
| // This function is equivalent to the offset into fFragmentStages where coverage stages begin. | 
| int                                 fNumColorStages; | 
|  | 
| -    GrProgramDesc fDesc; | 
| +    SkSTArray<8, const GrCoordTransform*, true> fCoordTransforms; | 
| +    int                                 fNumCoordTransforms; | 
| +    GrProgramDesc                       fDesc; | 
|  | 
| typedef SkRefCnt INHERITED; | 
| }; | 
|  |