more cleanup after removing volatile from bitmap
Change-Id: I3d7b2f59a5657640c3d60f5a2f6e1277d7593096
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302038
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/bench/BitmapBench.cpp b/bench/BitmapBench.cpp
index e6434ce..113d985 100644
--- a/bench/BitmapBench.cpp
+++ b/bench/BitmapBench.cpp
@@ -27,7 +27,6 @@
const SkColorType fColorType;
const SkAlphaType fAlphaType;
const bool fForceUpdate; //bitmap marked as dirty before each draw. forces bitmap to be updated on device cache
- const bool fIsVolatile;
const bool fDoScale;
SkBitmap fBitmap;
@@ -37,11 +36,10 @@
enum { W = 128 };
enum { H = 128 };
public:
- BitmapBench(SkColorType ct, SkAlphaType at, bool forceUpdate, bool isVolatile, bool doScale)
+ BitmapBench(SkColorType ct, SkAlphaType at, bool forceUpdate, bool doScale)
: fColorType(ct)
, fAlphaType(at)
, fForceUpdate(forceUpdate)
- , fIsVolatile(isVolatile)
, fDoScale(doScale)
{}
@@ -57,9 +55,6 @@
if (fForceUpdate) {
fName.append("_update");
}
- if (fIsVolatile) {
- fName.append("_volatile");
- }
return fName.c_str();
}
@@ -73,7 +68,6 @@
this->onDrawIntoBitmap(bm);
fBitmap = bm;
- // fBitmap.setIsVolatile(fIsVolatile);
}
void onDraw(int loops, SkCanvas* canvas) override {
@@ -146,9 +140,8 @@
uint32_t fFlags;
SkString fFullName;
public:
- FilterBitmapBench(SkColorType ct, SkAlphaType at,
- bool forceUpdate, bool isVolitile, uint32_t flags)
- : INHERITED(ct, at, forceUpdate, isVolitile, false)
+ FilterBitmapBench(SkColorType ct, SkAlphaType at, bool forceUpdate, uint32_t flags)
+ : INHERITED(ct, at, forceUpdate, false)
, fFlags(flags) {
}
@@ -222,9 +215,8 @@
SkString fFullName;
SourceAlpha fSourceAlpha;
public:
- SourceAlphaBitmapBench(SourceAlpha alpha, SkColorType ct,
- bool forceUpdate = false, bool bitmapVolatile = false)
- : INHERITED(ct, kPremul_SkAlphaType, forceUpdate, bitmapVolatile, false)
+ SourceAlphaBitmapBench(SourceAlpha alpha, SkColorType ct, bool forceUpdate = false)
+ : INHERITED(ct, kPremul_SkAlphaType, forceUpdate, false)
, fSourceAlpha(alpha) {
}
@@ -301,31 +293,31 @@
typedef BitmapBench INHERITED;
};
-DEF_BENCH( return new BitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, false); )
-DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false, false); )
-DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false, true); )
-DEF_BENCH( return new BitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, false, false); )
-DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, true, false); )
-DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false, false); )
+DEF_BENCH( return new BitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false); )
+DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false); )
+DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, true); )
+DEF_BENCH( return new BitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, false); )
+DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false); )
+DEF_BENCH( return new BitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false); )
// scale filter -> S32_opaque_D32_filter_DX_{SSE2,SSSE3} and Fact9 is also for S32_D16_filter_DX_SSE2
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, kScale_Flag | kBilerp_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false, kScale_Flag | kBilerp_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, true, kScale_Flag | kBilerp_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false, kScale_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, kScale_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, kScale_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, kScale_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, kScale_Flag | kBilerp_Flag); )
// The following two cases test the performance regression of b/70172912 .
-DEF_BENCH( return new FilterBitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, false, kScale_Flag | kBilerp_Flag); )
-DEF_BENCH( return new BitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, false, true); )
+DEF_BENCH( return new FilterBitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, kScale_Flag | kBilerp_Flag); )
+DEF_BENCH( return new BitmapBench(kRGB_565_SkColorType, kOpaque_SkAlphaType, false, true); )
// scale rotate filter -> S32_opaque_D32_filter_DXDY_{SSE2,SSSE3}
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, true, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, false, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kOpaque_SkAlphaType, true, kScale_Flag | kRotate_Flag | kBilerp_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, kScale_Flag | kBilerp_Flag | kBicubic_Flag); )
-DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, false, kScale_Flag | kRotate_Flag | kBilerp_Flag | kBicubic_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, kScale_Flag | kBilerp_Flag | kBicubic_Flag); )
+DEF_BENCH( return new FilterBitmapBench(kN32_SkColorType, kPremul_SkAlphaType, false, kScale_Flag | kRotate_Flag | kBilerp_Flag | kBicubic_Flag); )
// source alpha tests -> S32A_Opaque_BlitRow32_{arm,neon}
DEF_BENCH( return new SourceAlphaBitmapBench(SourceAlphaBitmapBench::kOpaque_SourceAlpha, kN32_SkColorType); )
diff --git a/docs/examples/Bitmap_isVolatile.cpp b/docs/examples/Bitmap_isVolatile.cpp
deleted file mode 100644
index f3a9f10..0000000
--- a/docs/examples/Bitmap_isVolatile.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2019 Google LLC.
-// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
-#include "tools/fiddle/examples.h"
-// HASH=23c4543ac6cdd0e8fe762816a0dc2e03
-REG_FIDDLE(Bitmap_isVolatile, 256, 256, true, 0) {
-void draw(SkCanvas* canvas) {
- SkBitmap original;
- SkImageInfo info = SkImageInfo::Make(25, 35, kRGBA_8888_SkColorType, kOpaque_SkAlphaType);
- if (original.tryAllocPixels(info)) {
- // original.setIsVolatile(true);
- SkBitmap copy;
- original.extractSubset(©, {5, 10, 15, 20});
- // SkDebugf("original is " "%s" "volatile\n", original.isVolatile() ? "" : "not ");
- SkDebugf("copy is " "%s" "volatile\n", copy.isImmutable() ? "" : "not ");
- }
-}
-} // END FIDDLE
diff --git a/docs/examples/Bitmap_setIsVolatile.cpp b/docs/examples/Bitmap_setIsVolatile.cpp
deleted file mode 100644
index 798d00f..0000000
--- a/docs/examples/Bitmap_setIsVolatile.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2019 Google LLC.
-// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
-#include "tools/fiddle/examples.h"
-// HASH=e8627a4df659b896402f89a91326618f
-REG_FIDDLE(Bitmap_setIsVolatile, 256, 20, false, 0) {
-void draw(SkCanvas* canvas) {
- SkBitmap bitmap;
- bitmap.setInfo(SkImageInfo::Make(1, 1, kRGBA_8888_SkColorType, kOpaque_SkAlphaType));
- bitmap.allocPixels();
- bitmap.eraseColor(SK_ColorRED);
- canvas->scale(16, 16);
- canvas->drawBitmap(bitmap, 0, 0);
- *(SkPMColor*) bitmap.getPixels() = SkPreMultiplyColor(SK_ColorBLUE);
- canvas->drawBitmap(bitmap, 2, 0);
- // bitmap.setIsVolatile(true);
- *(SkPMColor*) bitmap.getPixels() = SkPreMultiplyColor(SK_ColorGREEN);
- canvas->drawBitmap(bitmap, 4, 0);
-}
-} // END FIDDLE
diff --git a/include/core/SkBitmap.h b/include/core/SkBitmap.h
index e3b9296..12b90c6 100644
--- a/include/core/SkBitmap.h
+++ b/include/core/SkBitmap.h
@@ -48,6 +48,9 @@
public:
class SK_API Allocator;
+ // temporary, waiting to update call-sites
+ bool isVolatile() const { return false; }
+
/** Creates an empty SkBitmap without pixels, with kUnknown_SkColorType,
kUnknown_SkAlphaType, and with a width and height of zero. SkPixelRef origin is
set to (0, 0). SkBitmap is not volatile.
diff --git a/samplecode/SampleAAGeometry.cpp b/samplecode/SampleAAGeometry.cpp
index 02d0d97..8eb82b9 100644
--- a/samplecode/SampleAAGeometry.cpp
+++ b/samplecode/SampleAAGeometry.cpp
@@ -1315,7 +1315,6 @@
static uint8_t* set_up_dist_map(const SkImageInfo& imageInfo, SkBitmap* distMap) {
distMap->setInfo(imageInfo);
- // distMap->setIsVolatile(true);
SkAssertResult(distMap->tryAllocPixels());
SkASSERT((int) distMap->rowBytes() == imageInfo.width());
return distMap->getAddr8(0, 0);
diff --git a/src/core/SkPixmap.cpp b/src/core/SkPixmap.cpp
index eaea378..a31db4d 100644
--- a/src/core/SkPixmap.cpp
+++ b/src/core/SkPixmap.cpp
@@ -232,7 +232,6 @@
return false;
}
bitmap.setImmutable(); // Don't copy when we create an image.
- // bitmap.setIsVolatile(true); // Disable any caching.
SkMatrix scale = SkMatrix::MakeRectToRect(SkRect::Make(src.bounds()),
SkRect::Make(dst.bounds()),
diff --git a/src/gpu/GrBitmapTextureMaker.cpp b/src/gpu/GrBitmapTextureMaker.cpp
index 566621d..62b1308 100644
--- a/src/gpu/GrBitmapTextureMaker.cpp
+++ b/src/gpu/GrBitmapTextureMaker.cpp
@@ -46,7 +46,7 @@
, fBudgeted(cachePolicy == GrImageTexGenPolicy::kNew_Uncached_Unbudgeted
? SkBudgeted::kNo
: SkBudgeted::kYes) {
- if (/*!bitmap.isVolatile() && */ cachePolicy == GrImageTexGenPolicy::kDraw) {
+ if (cachePolicy == GrImageTexGenPolicy::kDraw) {
SkIPoint origin = bitmap.pixelRefOrigin();
SkIRect subset = SkIRect::MakeXYWH(origin.fX, origin.fY, bitmap.width(),
bitmap.height());
diff --git a/tests/BitmapCopyTest.cpp b/tests/BitmapCopyTest.cpp
index b343c66..e98597f 100644
--- a/tests/BitmapCopyTest.cpp
+++ b/tests/BitmapCopyTest.cpp
@@ -91,13 +91,11 @@
// Extract a subset which has the same width as the original. This
// catches a bug where we cloned the genID incorrectly.
r.setLTRB(0, 1, W, 3);
- // bitmap.setIsVolatile(true);
// Relies on old behavior of extractSubset failing if colortype is unknown
if (kUnknown_SkColorType != bitmap.colorType() && bitmap.extractSubset(&subset, r)) {
REPORTER_ASSERT(reporter, subset.width() == W);
REPORTER_ASSERT(reporter, subset.height() == 2);
REPORTER_ASSERT(reporter, subset.alphaType() == bitmap.alphaType());
- // REPORTER_ASSERT(reporter, subset.isVolatile() == true);
// Test copying an extracted subset.
for (size_t j = 0; j < SK_ARRAY_COUNT(gPairs); j++) {
@@ -120,10 +118,8 @@
}
bitmap = srcPremul;
- // bitmap.setIsVolatile(false);
if (bitmap.extractSubset(&subset, r)) {
REPORTER_ASSERT(reporter, subset.alphaType() == bitmap.alphaType());
- // REPORTER_ASSERT(reporter, subset.isVolatile() == false);
}
}
}
diff --git a/tools/fiddle/all_examples.cpp b/tools/fiddle/all_examples.cpp
index 3850ee0..ff0328e 100644
--- a/tools/fiddle/all_examples.cpp
+++ b/tools/fiddle/all_examples.cpp
@@ -54,7 +54,6 @@
#include "../../docs/examples/Bitmap_isImmutable.cpp"
#include "../../docs/examples/Bitmap_isNull.cpp"
#include "../../docs/examples/Bitmap_isOpaque.cpp"
-#include "../../docs/examples/Bitmap_isVolatile.cpp"
#include "../../docs/examples/Bitmap_move_SkBitmap.cpp"
#include "../../docs/examples/Bitmap_move_operator.cpp"
#include "../../docs/examples/Bitmap_notifyPixelsChanged.cpp"
@@ -73,7 +72,6 @@
#include "../../docs/examples/Bitmap_setAlphaType.cpp"
#include "../../docs/examples/Bitmap_setImmutable.cpp"
#include "../../docs/examples/Bitmap_setInfo.cpp"
-#include "../../docs/examples/Bitmap_setIsVolatile.cpp"
#include "../../docs/examples/Bitmap_setPixelRef.cpp"
#include "../../docs/examples/Bitmap_setPixels.cpp"
#include "../../docs/examples/Bitmap_shiftPerPixel.cpp"