Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(629)

Unified Diff: cc/tiles/software_image_decode_cache_unittest.cc

Issue 2857923004: cc: Keep PaintImage in DrawImage. (Closed)
Patch Set: .. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/tiles/software_image_decode_cache_perftest.cc ('k') | cc/tiles/tile_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/tiles/software_image_decode_cache_unittest.cc
diff --git a/cc/tiles/software_image_decode_cache_unittest.cc b/cc/tiles/software_image_decode_cache_unittest.cc
index 540f787f5c79c4adc3ea5ca397df99b33668d8a5..274f508cdf03a2997908a804ddf4999f1604ded4 100644
--- a/cc/tiles/software_image_decode_cache_unittest.cc
+++ b/cc/tiles/software_image_decode_cache_unittest.cc
@@ -50,13 +50,20 @@ SkMatrix CreateMatrix(const SkSize& scale, bool is_decomposable) {
return matrix;
}
+PaintImage::Id s_paint_image_id = PaintImage::GetNextId();
+
+PaintImage CreatePaintImage(sk_sp<SkImage> image) {
+ return PaintImage(s_paint_image_id, image);
+}
+
TEST(SoftwareImageDecodeCacheTest, ImageKeyLowQuality) {
sk_sp<SkImage> image = CreateImage(100, 100);
bool is_decomposable = true;
SkFilterQuality qualities[] = {kNone_SkFilterQuality, kLow_SkFilterQuality};
for (auto quality : qualities) {
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
+ CreatePaintImage(image),
+ SkIRect::MakeWH(image->width(), image->height()), quality,
CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
DefaultColorSpace());
@@ -77,10 +84,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQuality) {
bool is_decomposable = true;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -96,10 +103,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityDropToLowIfEnlarging) {
bool is_decomposable = true;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -115,10 +122,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityDropToLowIfIdentity) {
bool is_decomposable = true;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -136,8 +143,8 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kMedium_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -156,8 +163,8 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kMedium_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -175,10 +182,10 @@ TEST(SoftwareImageDecodeCacheTest,
bool is_decomposable = false;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -194,10 +201,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt1_5Scale) {
bool is_decomposable = true;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -213,10 +220,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt1_0cale) {
bool is_decomposable = true;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -233,8 +240,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_75Scale) {
SkFilterQuality quality = kMedium_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -251,10 +258,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_5Scale) {
bool is_decomposable = true;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -271,8 +278,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_49Scale) {
SkFilterQuality quality = kMedium_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -289,10 +296,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_1Scale) {
bool is_decomposable = true;
SkFilterQuality quality = kMedium_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -309,8 +316,8 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyMediumQualityAt0_01Scale) {
SkFilterQuality quality = kMedium_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -328,10 +335,10 @@ TEST(SoftwareImageDecodeCacheTest,
bool is_decomposable = true;
SkFilterQuality quality = kHigh_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -348,10 +355,10 @@ TEST(SoftwareImageDecodeCacheTest,
bool is_decomposable = true;
SkFilterQuality quality = kHigh_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.2f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.2f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -367,10 +374,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyDowscalesHighQuality) {
bool is_decomposable = true;
SkFilterQuality quality = kHigh_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(2.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(2.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -389,10 +396,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyHighQualityDropToMediumIfTooLarge) {
// At least one dimension should scale down, so that medium quality doesn't
// become low.
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.9f, 2.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.9f, 2.f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -409,10 +416,10 @@ TEST(SoftwareImageDecodeCacheTest,
bool is_decomposable = false;
SkFilterQuality quality = kHigh_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -428,10 +435,10 @@ TEST(SoftwareImageDecodeCacheTest, ImageKeyHighQualityDropToLowIfIdentity) {
bool is_decomposable = true;
SkFilterQuality quality = kHigh_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -449,8 +456,8 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kHigh_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.001f, 1.001f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -469,8 +476,8 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kHigh_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.999f, 0.999f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -487,10 +494,10 @@ TEST(SoftwareImageDecodeCacheTest, OriginalDecodesAreEqual) {
bool is_decomposable = true;
SkFilterQuality quality = kLow_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5), is_decomposable),
+ DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
EXPECT_EQ(image->uniqueID(), key.image_id());
@@ -501,8 +508,8 @@ TEST(SoftwareImageDecodeCacheTest, OriginalDecodesAreEqual) {
EXPECT_EQ(100u * 100u * 4u, key.locked_bytes());
DrawImage another_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(1.5f, 1.5), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5), is_decomposable),
DefaultColorSpace());
auto another_key = ImageDecodeCacheKey::FromDrawImage(another_draw_image);
@@ -522,8 +529,9 @@ TEST(SoftwareImageDecodeCacheTest, ImageRectDoesNotContainSrcRect) {
SkFilterQuality quality = kHigh_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeXYWH(25, 35, image->width(), image->height()),
- quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ CreatePaintImage(image),
+ SkIRect::MakeXYWH(25, 35, image->width(), image->height()), quality,
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -541,8 +549,9 @@ TEST(SoftwareImageDecodeCacheTest, ImageRectDoesNotContainSrcRectWithScale) {
SkFilterQuality quality = kHigh_SkFilterQuality;
DrawImage draw_image(
- image, SkIRect::MakeXYWH(20, 30, image->width(), image->height()),
- quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ CreatePaintImage(image),
+ SkIRect::MakeXYWH(20, 30, image->width(), image->height()), quality,
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
auto key = ImageDecodeCacheKey::FromDrawImage(draw_image);
@@ -560,10 +569,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImage) {
bool is_decomposable = true;
SkFilterQuality quality = kHigh_SkFilterQuality;
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
draw_image, ImageDecodeCache::TracingInfo(), &task);
@@ -571,8 +580,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImage) {
EXPECT_TRUE(task);
DrawImage another_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> another_task;
need_unref = cache.GetTaskForImageAndRef(
@@ -592,7 +601,7 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentQuality) {
bool is_decomposable = true;
DrawImage high_quality_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
kHigh_SkFilterQuality,
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
@@ -604,7 +613,7 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentQuality) {
EXPECT_TRUE(high_quality_task);
DrawImage low_quality_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
kLow_SkFilterQuality,
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
@@ -630,8 +639,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentSize) {
SkFilterQuality quality = kHigh_SkFilterQuality;
DrawImage half_size_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> half_size_task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -640,8 +649,8 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageSameImageDifferentSize) {
EXPECT_TRUE(half_size_task);
DrawImage quarter_size_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> quarter_size_task;
need_unref = cache.GetTaskForImageAndRef(quarter_size_draw_image,
@@ -665,8 +674,9 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageDifferentImage) {
sk_sp<SkImage> first_image = CreateImage(100, 100);
DrawImage first_draw_image(
- first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
- quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ CreatePaintImage(first_image),
+ SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> first_task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -676,7 +686,7 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageDifferentImage) {
sk_sp<SkImage> second_image = CreateImage(100, 100);
DrawImage second_draw_image(
- second_image,
+ CreatePaintImage(second_image),
SkIRect::MakeWH(second_image->width(), second_image->height()), quality,
CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable),
DefaultColorSpace());
@@ -715,8 +725,9 @@ TEST(SoftwareImageDecodeCacheTest, MAYBE_GetTaskForImageDifferentColorSpace) {
sk_sp<SkImage> image = CreateImageWithColorSpace(100, 100, color_space_a);
DrawImage first_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_b);
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
+ color_space_b);
scoped_refptr<TileTask> first_task;
bool need_unref = cache.GetTaskForImageAndRef(
first_draw_image, ImageDecodeCache::TracingInfo(), &first_task);
@@ -724,8 +735,9 @@ TEST(SoftwareImageDecodeCacheTest, MAYBE_GetTaskForImageDifferentColorSpace) {
EXPECT_TRUE(first_task);
DrawImage second_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_c);
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
+ color_space_c);
scoped_refptr<TileTask> second_task;
need_unref = cache.GetTaskForImageAndRef(
second_draw_image, ImageDecodeCache::TracingInfo(), &second_task);
@@ -734,8 +746,9 @@ TEST(SoftwareImageDecodeCacheTest, MAYBE_GetTaskForImageDifferentColorSpace) {
EXPECT_TRUE(first_task.get() != second_task.get());
DrawImage third_draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_b);
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
+ color_space_b);
scoped_refptr<TileTask> third_task;
need_unref = cache.GetTaskForImageAndRef(
third_draw_image, ImageDecodeCache::TracingInfo(), &third_task);
@@ -757,10 +770,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageAlreadyDecoded) {
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
draw_image, ImageDecodeCache::TracingInfo(), &task);
@@ -788,10 +801,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageAlreadyPrerolled) {
SkFilterQuality quality = kLow_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
draw_image, ImageDecodeCache::TracingInfo(), &task);
@@ -826,10 +839,10 @@ TEST(SoftwareImageDecodeCacheTest, GetTaskForImageCanceledGetsNewTask) {
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
draw_image, ImageDecodeCache::TracingInfo(), &task);
@@ -870,10 +883,10 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
draw_image, ImageDecodeCache::TracingInfo(), &task);
@@ -913,10 +926,10 @@ TEST(SoftwareImageDecodeCacheTest, GetDecodedImageForDraw) {
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
draw_image, ImageDecodeCache::TracingInfo(), &task);
@@ -948,8 +961,9 @@ TEST(SoftwareImageDecodeCacheTest,
sk_sp<SkImage> image = CreateImage(100, 100);
DrawImage draw_image(
- image, SkIRect::MakeXYWH(20, 30, image->width(), image->height()),
- quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ CreatePaintImage(image),
+ SkIRect::MakeXYWH(20, 30, image->width(), image->height()), quality,
+ CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -980,10 +994,10 @@ TEST(SoftwareImageDecodeCacheTest, GetDecodedImageForDrawAtRasterDecode) {
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
DecodedDrawImage decoded_draw_image =
cache.GetDecodedImageForDraw(draw_image);
@@ -1006,10 +1020,10 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
DecodedDrawImage decoded_draw_image =
cache.GetDecodedImageForDraw(draw_image);
@@ -1038,10 +1052,10 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
DecodedDrawImage decoded_draw_image =
cache.GetDecodedImageForDraw(draw_image);
@@ -1084,10 +1098,10 @@ TEST(SoftwareImageDecodeCacheTest,
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
DecodedDrawImage decoded_draw_image =
cache.GetDecodedImageForDraw(draw_image);
@@ -1130,10 +1144,10 @@ TEST(SoftwareImageDecodeCacheTest, ZeroSizedImagesAreSkipped) {
SkFilterQuality quality = kHigh_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.f, 0.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.f, 0.f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -1155,8 +1169,9 @@ TEST(SoftwareImageDecodeCacheTest, NonOverlappingSrcRectImagesAreSkipped) {
sk_sp<SkImage> image = CreateImage(100, 100);
DrawImage draw_image(
- image, SkIRect::MakeXYWH(150, 150, image->width(), image->height()),
- quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ CreatePaintImage(image),
+ SkIRect::MakeXYWH(150, 150, image->width(), image->height()), quality,
+ CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task;
@@ -1178,10 +1193,10 @@ TEST(SoftwareImageDecodeCacheTest, LowQualityFilterIsHandled) {
SkFilterQuality quality = kLow_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -1208,7 +1223,8 @@ TEST(SoftwareImageDecodeCacheTest, LowQualityScaledSubrectIsHandled) {
SkFilterQuality quality = kLow_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeXYWH(10, 10, 80, 80), quality,
+ DrawImage draw_image(CreatePaintImage(image),
+ SkIRect::MakeXYWH(10, 10, 80, 80), quality,
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
@@ -1239,7 +1255,8 @@ TEST(SoftwareImageDecodeCacheTest, NoneQualityScaledSubrectIsHandled) {
SkFilterQuality quality = kNone_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(100, 100);
- DrawImage draw_image(image, SkIRect::MakeXYWH(10, 10, 80, 80), quality,
+ DrawImage draw_image(CreatePaintImage(image),
+ SkIRect::MakeXYWH(10, 10, 80, 80), quality,
CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
@@ -1270,10 +1287,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt01_5ScaleIsHandled) {
SkFilterQuality quality = kMedium_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(500, 200);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -1303,10 +1320,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt1_0ScaleIsHandled) {
SkFilterQuality quality = kMedium_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(500, 200);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -1337,8 +1354,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_75ScaleIsHandled) {
sk_sp<SkImage> image = CreateImage(500, 200);
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.75f, 0.75f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task;
@@ -1369,10 +1386,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_5ScaleIsHandled) {
SkFilterQuality quality = kMedium_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(500, 200);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -1403,8 +1420,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_49ScaleIsHandled) {
sk_sp<SkImage> image = CreateImage(500, 200);
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task;
@@ -1435,10 +1452,10 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_1ScaleIsHandled) {
SkFilterQuality quality = kMedium_SkFilterQuality;
sk_sp<SkImage> image = CreateImage(500, 200);
- DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
- quality,
- CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable),
- DefaultColorSpace());
+ DrawImage draw_image(
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.1f, 0.1f), is_decomposable),
+ DefaultColorSpace());
scoped_refptr<TileTask> task;
bool need_unref = cache.GetTaskForImageAndRef(
@@ -1469,8 +1486,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_01ScaleIsHandled) {
sk_sp<SkImage> image = CreateImage(500, 200);
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.01f, 0.01f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task;
@@ -1502,8 +1519,8 @@ TEST(SoftwareImageDecodeCacheTest, MediumQualityAt0_001ScaleIsHandled) {
sk_sp<SkImage> image = CreateImage(500, 200);
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.001f, 0.001f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.001f, 0.001f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task;
@@ -1527,12 +1544,12 @@ TEST(SoftwareImageDecodeCacheTest,
sk_sp<SkImage> image = CreateImage(500, 200);
DrawImage draw_image_50(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
DefaultColorSpace());
DrawImage draw_image_49(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
- CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable),
+ CreatePaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
+ quality, CreateMatrix(SkSize::Make(0.49f, 0.49f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task_50;
@@ -1581,7 +1598,8 @@ TEST(SoftwareImageDecodeCacheTest, ClearCache) {
for (int i = 0; i < 10; ++i) {
sk_sp<SkImage> image = CreateImage(100, 100);
DrawImage draw_image(
- image, SkIRect::MakeWH(image->width(), image->height()), quality,
+ CreatePaintImage(image),
+ SkIRect::MakeWH(image->width(), image->height()), quality,
CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
DefaultColorSpace());
scoped_refptr<TileTask> task;
« no previous file with comments | « cc/tiles/software_image_decode_cache_perftest.cc ('k') | cc/tiles/tile_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698