| 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;
|
| };
|
|
|