| Index: cc/tiles/gpu_image_decode_cache_unittest.cc
|
| diff --git a/cc/tiles/gpu_image_decode_cache_unittest.cc b/cc/tiles/gpu_image_decode_cache_unittest.cc
|
| index 8ad8335f5e0bf5ef1157c72587297f5f9e34d37c..c6e5b48659ed0f80602c1a594d8c828adfcdd844 100644
|
| --- a/cc/tiles/gpu_image_decode_cache_unittest.cc
|
| +++ b/cc/tiles/gpu_image_decode_cache_unittest.cc
|
| @@ -56,10 +56,10 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageSameImage) {
|
| bool is_decomposable = true;
|
| SkFilterQuality quality = kHigh_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(
|
| + PaintImage(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(
|
| draw_image, ImageDecodeCache::TracingInfo(), &task);
|
| @@ -67,8 +67,8 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageSameImage) {
|
| EXPECT_TRUE(task);
|
|
|
| DrawImage another_draw_image(
|
| - image, SkIRect::MakeWH(image->width(), image->height()), quality,
|
| - CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> another_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -91,10 +91,10 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageSmallerScale) {
|
| bool is_decomposable = true;
|
| SkFilterQuality quality = kHigh_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(
|
| + PaintImage(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(
|
| draw_image, ImageDecodeCache::TracingInfo(), &task);
|
| @@ -102,8 +102,8 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageSmallerScale) {
|
| EXPECT_TRUE(task);
|
|
|
| DrawImage another_draw_image(
|
| - image, SkIRect::MakeWH(image->width(), image->height()), quality,
|
| - CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
|
| + PaintImage(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(
|
| @@ -126,7 +126,8 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLowerQuality) {
|
| bool is_decomposable = true;
|
| SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable);
|
|
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| + DrawImage draw_image(PaintImage(image),
|
| + SkIRect::MakeWH(image->width(), image->height()),
|
| kHigh_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| @@ -135,7 +136,7 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLowerQuality) {
|
| EXPECT_TRUE(task);
|
|
|
| DrawImage another_draw_image(
|
| - image, SkIRect::MakeWH(image->width(), image->height()),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| kLow_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> another_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -159,8 +160,9 @@ TEST(GpuImageDecodeCacheTest, 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),
|
| + PaintImage(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(
|
| @@ -170,7 +172,7 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageDifferentImage) {
|
|
|
| sk_sp<SkImage> second_image = CreateImage(100, 100);
|
| DrawImage second_draw_image(
|
| - second_image,
|
| + PaintImage(second_image),
|
| SkIRect::MakeWH(second_image->width(), second_image->height()), quality,
|
| CreateMatrix(SkSize::Make(0.25f, 0.25f), is_decomposable),
|
| DefaultColorSpace());
|
| @@ -199,8 +201,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScale) {
|
|
|
| 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),
|
| + PaintImage(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(
|
| @@ -214,8 +217,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScale) {
|
| cache.UnrefImage(first_draw_image);
|
|
|
| DrawImage second_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> second_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -225,8 +229,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScale) {
|
| EXPECT_TRUE(first_task.get() != second_task.get());
|
|
|
| DrawImage third_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> third_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -250,8 +255,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScaleNoReuse) {
|
|
|
| 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),
|
| + PaintImage(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(
|
| @@ -260,8 +266,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScaleNoReuse) {
|
| EXPECT_TRUE(first_task);
|
|
|
| DrawImage second_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> second_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -271,8 +278,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScaleNoReuse) {
|
| EXPECT_TRUE(first_task.get() != second_task.get());
|
|
|
| DrawImage third_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> third_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -299,7 +307,8 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageHigherQuality) {
|
|
|
| sk_sp<SkImage> first_image = CreateImage(100, 100);
|
| DrawImage first_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| kLow_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> first_task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| @@ -313,7 +322,8 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageHigherQuality) {
|
| cache.UnrefImage(first_draw_image);
|
|
|
| DrawImage second_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| kHigh_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> second_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -336,10 +346,10 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageAlreadyDecodedAndLocked) {
|
| 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(
|
| + PaintImage(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);
|
| @@ -382,10 +392,10 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageAlreadyDecodedNotLocked) {
|
| 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(
|
| + PaintImage(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);
|
| @@ -428,10 +438,10 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageAlreadyUploaded) {
|
| 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(
|
| + PaintImage(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);
|
| @@ -464,10 +474,10 @@ TEST(GpuImageDecodeCacheTest, 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(
|
| + PaintImage(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);
|
| @@ -512,10 +522,10 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageCanceledWhileReffedGetsNewTask) {
|
| 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(
|
| + PaintImage(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);
|
| @@ -564,10 +574,10 @@ TEST(GpuImageDecodeCacheTest, NoTaskForImageAlreadyFailedDecoding) {
|
| 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(
|
| + PaintImage(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);
|
| @@ -598,10 +608,10 @@ TEST(GpuImageDecodeCacheTest, 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(
|
| + PaintImage(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);
|
| @@ -633,10 +643,10 @@ TEST(GpuImageDecodeCacheTest, GetLargeDecodedImageForDraw) {
|
| SkFilterQuality quality = kHigh_SkFilterQuality;
|
|
|
| sk_sp<SkImage> image = CreateImage(1, 24000);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| - quality,
|
| - CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + DefaultColorSpace());
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| draw_image, ImageDecodeCache::TracingInfo(), &task);
|
| @@ -671,10 +681,10 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawAtRasterDecode) {
|
| cache.SetAllByteLimitsForTesting(0);
|
|
|
| sk_sp<SkImage> image = CreateImage(100, 100);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| - quality,
|
| - CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + DefaultColorSpace());
|
|
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| @@ -703,10 +713,10 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawLargerScale) {
|
| 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(
|
| + PaintImage(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);
|
| @@ -717,8 +727,8 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawLargerScale) {
|
| TestTileTaskRunner::ProcessTask(task.get());
|
|
|
| DrawImage larger_draw_image(
|
| - image, SkIRect::MakeWH(image->width(), image->height()), quality,
|
| - CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.5f, 1.5f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> larger_task;
|
| bool larger_need_unref = cache.GetTaskForImageAndRef(
|
| @@ -762,7 +772,8 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawHigherQuality) {
|
| SkMatrix matrix = CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable);
|
|
|
| sk_sp<SkImage> image = CreateImage(100, 100);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| + DrawImage draw_image(PaintImage(image),
|
| + SkIRect::MakeWH(image->width(), image->height()),
|
| kLow_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| @@ -774,7 +785,7 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawHigherQuality) {
|
| TestTileTaskRunner::ProcessTask(task.get());
|
|
|
| DrawImage higher_quality_draw_image(
|
| - image, SkIRect::MakeWH(image->width(), image->height()),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| kHigh_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> hq_task;
|
| bool hq_needs_unref = cache.GetTaskForImageAndRef(
|
| @@ -819,10 +830,10 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawNegative) {
|
| 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(
|
| + PaintImage(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);
|
| @@ -856,10 +867,10 @@ TEST(GpuImageDecodeCacheTest, GetLargeScaledDecodedImageForDraw) {
|
| SkFilterQuality quality = kHigh_SkFilterQuality;
|
|
|
| sk_sp<SkImage> image = CreateImage(1, 48000);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| - quality,
|
| - CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(
|
| + PaintImage(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);
|
| @@ -897,10 +908,10 @@ TEST(GpuImageDecodeCacheTest, AtRasterUsedDirectlyIfSpaceAllows) {
|
| cache.SetAllByteLimitsForTesting(0);
|
|
|
| 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(
|
| + PaintImage(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(
|
| @@ -943,10 +954,10 @@ TEST(GpuImageDecodeCacheTest,
|
| cache.SetAllByteLimitsForTesting(0);
|
|
|
| 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(
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
|
| + DefaultColorSpace());
|
|
|
| // Must hold context lock before calling GetDecodedImageForDraw /
|
| // DrawWithImageFinished.
|
| @@ -976,10 +987,10 @@ TEST(GpuImageDecodeCacheTest,
|
| SkFilterQuality quality = kHigh_SkFilterQuality;
|
|
|
| sk_sp<SkImage> image = CreateImage(1, 24000);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| - quality,
|
| - CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + DefaultColorSpace());
|
|
|
| // Must hold context lock before calling GetDecodedImageForDraw /
|
| // DrawWithImageFinished.
|
| @@ -1013,10 +1024,10 @@ TEST(GpuImageDecodeCacheTest, 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(
|
| + PaintImage(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(
|
| @@ -1043,8 +1054,9 @@ TEST(GpuImageDecodeCacheTest, 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),
|
| + PaintImage(image),
|
| + SkIRect::MakeXYWH(150, 150, image->width(), image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
|
| DefaultColorSpace());
|
|
|
| scoped_refptr<TileTask> task;
|
| @@ -1071,10 +1083,11 @@ TEST(GpuImageDecodeCacheTest, CanceledTasksDoNotCountAgainstBudget) {
|
| SkFilterQuality quality = kHigh_SkFilterQuality;
|
|
|
| sk_sp<SkImage> image = CreateImage(100, 100);
|
| - DrawImage draw_image(
|
| - image, SkIRect::MakeXYWH(0, 0, image->width(), image->height()), quality,
|
| - CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(PaintImage(image),
|
| + SkIRect::MakeXYWH(0, 0, image->width(), image->height()),
|
| + quality,
|
| + CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable),
|
| + DefaultColorSpace());
|
|
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| @@ -1100,10 +1113,10 @@ TEST(GpuImageDecodeCacheTest, ShouldAggressivelyFreeResources) {
|
| 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(
|
| + PaintImage(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(
|
| @@ -1166,8 +1179,9 @@ TEST(GpuImageDecodeCacheTest, OrphanedImagesFreeOnReachingZeroRefs) {
|
| // Create a downscaled image.
|
| 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),
|
| + PaintImage(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(
|
| @@ -1182,8 +1196,9 @@ TEST(GpuImageDecodeCacheTest, OrphanedImagesFreeOnReachingZeroRefs) {
|
| // Create a larger version of |first_image|, this should immediately free the
|
| // memory used by |first_image| for the smaller scale.
|
| DrawImage second_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> second_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -1223,8 +1238,9 @@ TEST(GpuImageDecodeCacheTest, OrphanedZeroRefImagesImmediatelyDeleted) {
|
| // Create a downscaled image.
|
| 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),
|
| + PaintImage(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(
|
| @@ -1243,8 +1259,9 @@ TEST(GpuImageDecodeCacheTest, OrphanedZeroRefImagesImmediatelyDeleted) {
|
| // Create a larger version of |first_image|, this should immediately free the
|
| // memory used by |first_image| for the smaller scale.
|
| DrawImage second_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> second_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -1272,7 +1289,7 @@ TEST(GpuImageDecodeCacheTest, QualityCappedAtMedium) {
|
| SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable);
|
|
|
| // Create an image with kLow_FilterQuality.
|
| - DrawImage low_draw_image(image,
|
| + DrawImage low_draw_image(PaintImage(image),
|
| SkIRect::MakeWH(image->width(), image->height()),
|
| kLow_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> low_task;
|
| @@ -1284,7 +1301,7 @@ TEST(GpuImageDecodeCacheTest, QualityCappedAtMedium) {
|
| // Get the same image at kMedium_FilterQuality. We can't re-use low, so we
|
| // should get a new task/ref.
|
| DrawImage medium_draw_image(
|
| - image, SkIRect::MakeWH(image->width(), image->height()),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| kMedium_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> medium_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -1295,7 +1312,7 @@ TEST(GpuImageDecodeCacheTest, QualityCappedAtMedium) {
|
|
|
| // Get the same image at kHigh_FilterQuality. We should re-use medium.
|
| DrawImage large_draw_image(
|
| - image, SkIRect::MakeWH(image->width(), image->height()),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| kHigh_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> large_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| @@ -1324,10 +1341,10 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawMipUsageChange) {
|
|
|
| // Create an image decode task and cache entry that does not need mips.
|
| sk_sp<SkImage> image = CreateImage(4000, 4000);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| - quality,
|
| - CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + DefaultColorSpace());
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| draw_image, ImageDecodeCache::TracingInfo(), &task);
|
| @@ -1348,8 +1365,8 @@ TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawMipUsageChange) {
|
|
|
| // Do an at-raster decode of the above image that *does* require mips.
|
| DrawImage draw_image_mips(
|
| - image, SkIRect::MakeWH(image->width(), image->height()), quality,
|
| - CreateMatrix(SkSize::Make(0.6f, 0.6f), is_decomposable),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(0.6f, 0.6f), is_decomposable),
|
| DefaultColorSpace());
|
| DecodedDrawImage decoded_draw_image =
|
| cache.GetDecodedImageForDraw(draw_image_mips);
|
| @@ -1365,7 +1382,8 @@ TEST(GpuImageDecodeCacheTest, MemoryStateSuspended) {
|
| sk_sp<SkImage> image = CreateImage(1, 1);
|
| bool is_decomposable = true;
|
| SkMatrix matrix = CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| + DrawImage draw_image(PaintImage(image),
|
| + SkIRect::MakeWH(image->width(), image->height()),
|
| kLow_SkFilterQuality, matrix, DefaultColorSpace());
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| @@ -1434,7 +1452,8 @@ TEST(GpuImageDecodeCacheTest, OutOfRasterDecodeTask) {
|
| sk_sp<SkImage> image = CreateImage(1, 1);
|
| bool is_decomposable = true;
|
| SkMatrix matrix = CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| + DrawImage draw_image(PaintImage(image),
|
| + SkIRect::MakeWH(image->width(), image->height()),
|
| kLow_SkFilterQuality, matrix, DefaultColorSpace());
|
|
|
| scoped_refptr<TileTask> task;
|
| @@ -1464,10 +1483,10 @@ TEST(GpuImageDecodeCacheTest, ZeroCacheNormalWorkingSet) {
|
| // Add an image to the cache. Due to normal working set, this should produce
|
| // a task and a ref.
|
| sk_sp<SkImage> image = CreateImage(100, 100);
|
| - DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
|
| - quality,
|
| - CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + DefaultColorSpace());
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| draw_image, ImageDecodeCache::TracingInfo(), &task);
|
| @@ -1519,15 +1538,15 @@ TEST(GpuImageDecodeCacheTest, SmallCacheNormalWorkingSet) {
|
| 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(1.0f, 1.0f), is_decomposable),
|
| - DefaultColorSpace());
|
| + DrawImage draw_image(
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + DefaultColorSpace());
|
|
|
| sk_sp<SkImage> image2 = CreateImage(100, 100);
|
| DrawImage draw_image2(
|
| - image2, SkIRect::MakeWH(image2->width(), image2->height()), quality,
|
| - CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + PaintImage(image2), SkIRect::MakeWH(image2->width(), image2->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| DefaultColorSpace());
|
|
|
| // Add an image to the cache and un-ref it.
|
| @@ -1610,8 +1629,8 @@ TEST(GpuImageDecodeCacheTest, 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,
|
| - CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| + PaintImage(image), SkIRect::MakeWH(image->width(), image->height()),
|
| + quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| DefaultColorSpace());
|
| scoped_refptr<TileTask> task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| @@ -1647,9 +1666,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageDifferentColorSpace) {
|
|
|
| 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(1.0f, 1.0f), is_decomposable),
|
| - color_space_a);
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_a);
|
| scoped_refptr<TileTask> first_task;
|
| bool need_unref = cache.GetTaskForImageAndRef(
|
| first_draw_image, ImageDecodeCache::TracingInfo(), &first_task);
|
| @@ -1657,9 +1676,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageDifferentColorSpace) {
|
| EXPECT_TRUE(first_task);
|
|
|
| DrawImage second_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| - color_space_b);
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_b);
|
| scoped_refptr<TileTask> second_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| second_draw_image, ImageDecodeCache::TracingInfo(), &second_task);
|
| @@ -1668,9 +1687,9 @@ TEST(GpuImageDecodeCacheTest, GetTaskForImageDifferentColorSpace) {
|
| EXPECT_TRUE(first_task.get() != second_task.get());
|
|
|
| DrawImage third_draw_image(
|
| - first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
|
| - quality, CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable),
|
| - color_space_a);
|
| + PaintImage(first_image),
|
| + SkIRect::MakeWH(first_image->width(), first_image->height()), quality,
|
| + CreateMatrix(SkSize::Make(1.0f, 1.0f), is_decomposable), color_space_a);
|
| scoped_refptr<TileTask> third_task;
|
| need_unref = cache.GetTaskForImageAndRef(
|
| third_draw_image, ImageDecodeCache::TracingInfo(), &third_task);
|
|
|