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