| Index: src/core/SkLinearBitmapPipeline.h
|
| diff --git a/src/core/SkLinearBitmapPipeline.h b/src/core/SkLinearBitmapPipeline.h
|
| index c65b7538aa3a2f6962ce11f6005e3c28553f81f8..7efdd1c6fb19a971107175546ae2b4a2b37637ed 100644
|
| --- a/src/core/SkLinearBitmapPipeline.h
|
| +++ b/src/core/SkLinearBitmapPipeline.h
|
| @@ -21,6 +21,7 @@ public:
|
| const SkMatrix& inverse,
|
| SkFilterQuality filterQuality,
|
| SkShader::TileMode xTile, SkShader::TileMode yTile,
|
| + float postAlpha,
|
| const SkPixmap& srcPixmap);
|
| ~SkLinearBitmapPipeline();
|
|
|
| @@ -33,7 +34,7 @@ public:
|
|
|
| ~PolymorphicUnion() {
|
| if (fIsInitialized) {
|
| - get()->~Base();
|
| + this->get()->~Base();
|
| }
|
| }
|
|
|
| @@ -47,8 +48,8 @@ public:
|
| };
|
|
|
| Base* get() const { return reinterpret_cast<Base*>(&fSpace); }
|
| - Base* operator->() const { return get(); }
|
| - Base& operator*() const { return *get(); }
|
| + Base* operator->() const { return this->get(); }
|
| + Base& operator*() const { return *(this->get()); }
|
|
|
| private:
|
| struct SK_STRUCT_ALIGN(16) Space {
|
| @@ -62,18 +63,16 @@ public:
|
| class BilerpProcessorInterface;
|
| class PixelPlacerInterface;
|
|
|
| - using MatrixStage = PolymorphicUnion<PointProcessorInterface, 112>;
|
| - using FilterStage = PolymorphicUnion<PointProcessorInterface, 8>;
|
| - using TileStage = PolymorphicUnion<BilerpProcessorInterface, 96>;
|
| + // These values were generated by the assert above in PolymorphicUnion.
|
| + using MatrixStage = PolymorphicUnion<PointProcessorInterface, 160>;
|
| + using TileStage = PolymorphicUnion<PointProcessorInterface, 160>;
|
| using SampleStage = PolymorphicUnion<BilerpProcessorInterface, 80>;
|
| using PixelStage = PolymorphicUnion<PixelPlacerInterface, 80>;
|
|
|
| private:
|
| PointProcessorInterface* fFirstStage;
|
| MatrixStage fMatrixStage;
|
| - FilterStage fFilterStage;
|
| - TileStage fTileXOrBothStage;
|
| - TileStage fTileYStage;
|
| + TileStage fTiler;
|
| SampleStage fSampleStage;
|
| PixelStage fPixelStage;
|
| };
|
|
|