| Index: src/core/SkBitmapProcShader.h
|
| diff --git a/src/core/SkBitmapProcShader.h b/src/core/SkBitmapProcShader.h
|
| index ebd9f3f8fbfb7068c6ae5f43ec8c4a5beec3d7d1..dc4d832ca3dad0be49f9a7d84ed279010f7b5a64 100644
|
| --- a/src/core/SkBitmapProcShader.h
|
| +++ b/src/core/SkBitmapProcShader.h
|
| @@ -21,8 +21,6 @@ public:
|
|
|
| bool isOpaque() const override;
|
|
|
| - size_t onContextSize(const ContextRec& rec) const override { return ContextSize(rec); }
|
| -
|
| SK_TO_STRING_OVERRIDE()
|
| SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBitmapProcShader)
|
|
|
| @@ -33,16 +31,19 @@ public:
|
|
|
| protected:
|
| void flatten(SkWriteBuffer&) const override;
|
| + size_t onContextSize(const ContextRec& rec) const override {
|
| + return ContextSize(rec, fRawBitmap.info());
|
| + }
|
| Context* onCreateContext(const ContextRec&, void* storage) const override;
|
| bool onIsABitmap(SkBitmap*, SkMatrix*, TileMode*) const override;
|
|
|
| - SkBitmap fRawBitmap; // experimental for RLE encoding
|
| + SkBitmap fRawBitmap;
|
| uint8_t fTileModeX, fTileModeY;
|
|
|
| private:
|
| friend class SkImageShader;
|
|
|
| - static size_t ContextSize(const ContextRec&);
|
| + static size_t ContextSize(const ContextRec&, const SkImageInfo& srcInfo);
|
| static Context* MakeContext(const SkShader&, TileMode tmx, TileMode tmy,
|
| const SkBitmapProvider&, const ContextRec&, void* storage);
|
|
|
| @@ -54,7 +55,7 @@ private:
|
| // an Sk3DBlitter in SkDraw.cpp
|
| // Note that some contexts may contain other contexts (e.g. for compose shaders), but we've not
|
| // yet found a situation where the size below isn't big enough.
|
| -typedef SkSmallAllocator<3, 1500> SkTBlitterAllocator;
|
| +typedef SkSmallAllocator<3, 2100> SkTBlitterAllocator;
|
|
|
| // If alloc is non-nullptr, it will be used to allocate the returned SkShader, and MUST outlive
|
| // the SkShader.
|
|
|