aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/ColorCubeBench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bench/ColorCubeBench.cpp')
-rw-r--r--bench/ColorCubeBench.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/bench/ColorCubeBench.cpp b/bench/ColorCubeBench.cpp
index 6a7774012d..9f6bd001ff 100644
--- a/bench/ColorCubeBench.cpp
+++ b/bench/ColorCubeBench.cpp
@@ -13,14 +13,20 @@
class ColorCubeBench : public Benchmark {
SkISize fSize;
int fCubeDimension;
- sk_sp<SkData> fCubeData;
+ SkData* fCubeData;
SkBitmap fBitmap;
public:
- ColorCubeBench() : fCubeDimension(0) {
+ ColorCubeBench()
+ : fCubeDimension(0)
+ , fCubeData(nullptr) {
fSize = SkISize::Make(2880, 1800); // 2014 Macbook Pro resolution
}
+ ~ColorCubeBench() {
+ SkSafeUnref(fCubeData);
+ }
+
protected:
const char* onGetName() override {
return "colorcube";
@@ -65,7 +71,7 @@ private:
void makeCubeData() {
fCubeDimension = 32;
- fCubeData = SkData::MakeUninitialized(sizeof(SkColor) *
+ fCubeData = SkData::NewUninitialized(sizeof(SkColor) *
fCubeDimension * fCubeDimension * fCubeDimension);
SkColor* pixels = (SkColor*)(fCubeData->writable_data());
SkAutoTMalloc<uint8_t> lutMemory(fCubeDimension);
@@ -89,7 +95,9 @@ private:
void test(int loops, SkCanvas* canvas) {
SkPaint paint;
for (int i = 0; i < loops; i++) {
- paint.setColorFilter(SkColorCubeFilter::Make(fCubeData, fCubeDimension));
+ SkAutoTUnref<SkColorFilter> colorCube(
+ SkColorCubeFilter::Create(fCubeData, fCubeDimension));
+ paint.setColorFilter(colorCube);
canvas->drawBitmap(fBitmap, 0, 0, &paint);
}
}