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

Side by Side Diff: cc/tiles/gpu_image_decode_cache_unittest.cc

Issue 2817443004: Disable tests failing on Linux MSAN tests on chromium.memory. (Closed)
Patch Set: fix compile Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/apps/guest_view/web_view_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/tiles/gpu_image_decode_cache.h" 5 #include "cc/tiles/gpu_image_decode_cache.h"
6 6
7 #include "cc/paint/draw_image.h" 7 #include "cc/paint/draw_image.h"
8 #include "cc/test/test_context_provider.h" 8 #include "cc/test/test_context_provider.h"
9 #include "cc/test/test_tile_task_runner.h" 9 #include "cc/test/test_tile_task_runner.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 EXPECT_TRUE(need_unref); 110 EXPECT_TRUE(need_unref);
111 EXPECT_TRUE(task.get() == another_task.get()); 111 EXPECT_TRUE(task.get() == another_task.get());
112 112
113 TestTileTaskRunner::ProcessTask(task->dependencies()[0].get()); 113 TestTileTaskRunner::ProcessTask(task->dependencies()[0].get());
114 TestTileTaskRunner::ProcessTask(task.get()); 114 TestTileTaskRunner::ProcessTask(task.get());
115 115
116 cache.UnrefImage(draw_image); 116 cache.UnrefImage(draw_image);
117 cache.UnrefImage(another_draw_image); 117 cache.UnrefImage(another_draw_image);
118 } 118 }
119 119
120 TEST(GpuImageDecodeCacheTest, GetTaskForImageLowerQuality) { 120 // crbug.com/697171.
121 #if defined(MEMORY_SANITIZER)
122 #define MAYBE_GetTaskForImageLowerQuality DISABLED_GetTaskForImageLowerQuality
123 #else
124 #define MAYBE_GetTaskForImageLowerQuality GetTaskForImageLowerQuality
125 #endif
126 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageLowerQuality) {
121 auto context_provider = TestContextProvider::Create(); 127 auto context_provider = TestContextProvider::Create();
122 context_provider->BindToCurrentThread(); 128 context_provider->BindToCurrentThread();
123 TestGpuImageDecodeCache cache(context_provider.get()); 129 TestGpuImageDecodeCache cache(context_provider.get());
124 sk_sp<SkImage> image = CreateImage(100, 100); 130 sk_sp<SkImage> image = CreateImage(100, 100);
125 bool is_decomposable = true; 131 bool is_decomposable = true;
126 SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable); 132 SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable);
127 133
128 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 134 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
129 kHigh_SkFilterQuality, matrix, DefaultColorSpace()); 135 kHigh_SkFilterQuality, matrix, DefaultColorSpace());
130 scoped_refptr<TileTask> task; 136 scoped_refptr<TileTask> task;
(...skipping 11 matching lines...) Expand all
142 EXPECT_TRUE(need_unref); 148 EXPECT_TRUE(need_unref);
143 EXPECT_TRUE(task.get() == another_task.get()); 149 EXPECT_TRUE(task.get() == another_task.get());
144 150
145 TestTileTaskRunner::ProcessTask(task->dependencies()[0].get()); 151 TestTileTaskRunner::ProcessTask(task->dependencies()[0].get());
146 TestTileTaskRunner::ProcessTask(task.get()); 152 TestTileTaskRunner::ProcessTask(task.get());
147 153
148 cache.UnrefImage(draw_image); 154 cache.UnrefImage(draw_image);
149 cache.UnrefImage(another_draw_image); 155 cache.UnrefImage(another_draw_image);
150 } 156 }
151 157
152 TEST(GpuImageDecodeCacheTest, GetTaskForImageDifferentImage) { 158 // crbug.com/697171.
159 #if defined(MEMORY_SANITIZER)
160 #define MAYBE_GetTaskForImageDifferentImage \
161 DISABLED_GetTaskForImageDifferentImage
162 #else
163 #define MAYBE_GetTaskForImageDifferentImage GetTaskForImageDifferentImage
164 #endif
165 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageDifferentImage) {
153 auto context_provider = TestContextProvider::Create(); 166 auto context_provider = TestContextProvider::Create();
154 context_provider->BindToCurrentThread(); 167 context_provider->BindToCurrentThread();
155 TestGpuImageDecodeCache cache(context_provider.get()); 168 TestGpuImageDecodeCache cache(context_provider.get());
156 bool is_decomposable = true; 169 bool is_decomposable = true;
157 SkFilterQuality quality = kHigh_SkFilterQuality; 170 SkFilterQuality quality = kHigh_SkFilterQuality;
158 171
159 sk_sp<SkImage> first_image = CreateImage(100, 100); 172 sk_sp<SkImage> first_image = CreateImage(100, 100);
160 DrawImage first_draw_image( 173 DrawImage first_draw_image(
161 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()), 174 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
162 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 175 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 19 matching lines...) Expand all
182 195
183 TestTileTaskRunner::ProcessTask(first_task->dependencies()[0].get()); 196 TestTileTaskRunner::ProcessTask(first_task->dependencies()[0].get());
184 TestTileTaskRunner::ProcessTask(first_task.get()); 197 TestTileTaskRunner::ProcessTask(first_task.get());
185 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get()); 198 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get());
186 TestTileTaskRunner::ProcessTask(second_task.get()); 199 TestTileTaskRunner::ProcessTask(second_task.get());
187 200
188 cache.UnrefImage(first_draw_image); 201 cache.UnrefImage(first_draw_image);
189 cache.UnrefImage(second_draw_image); 202 cache.UnrefImage(second_draw_image);
190 } 203 }
191 204
192 TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScale) { 205 // crbug.com/697171.
206 #if defined(MEMORY_SANITIZER)
207 #define MAYBE_GetTaskForImageLargerScale DISABLED_GetTaskForImageLargerScale
208 #else
209 #define MAYBE_GetTaskForImageLargerScale GetTaskForImageLargerScale
210 #endif
211 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageLargerScale) {
193 auto context_provider = TestContextProvider::Create(); 212 auto context_provider = TestContextProvider::Create();
194 context_provider->BindToCurrentThread(); 213 context_provider->BindToCurrentThread();
195 TestGpuImageDecodeCache cache(context_provider.get()); 214 TestGpuImageDecodeCache cache(context_provider.get());
196 bool is_decomposable = true; 215 bool is_decomposable = true;
197 SkFilterQuality quality = kHigh_SkFilterQuality; 216 SkFilterQuality quality = kHigh_SkFilterQuality;
198 217
199 sk_sp<SkImage> first_image = CreateImage(100, 100); 218 sk_sp<SkImage> first_image = CreateImage(100, 100);
200 DrawImage first_draw_image( 219 DrawImage first_draw_image(
201 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()), 220 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
202 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 221 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 30 matching lines...) Expand all
233 EXPECT_TRUE(need_unref); 252 EXPECT_TRUE(need_unref);
234 EXPECT_TRUE(third_task.get() == second_task.get()); 253 EXPECT_TRUE(third_task.get() == second_task.get());
235 254
236 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get()); 255 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get());
237 TestTileTaskRunner::ProcessTask(second_task.get()); 256 TestTileTaskRunner::ProcessTask(second_task.get());
238 257
239 cache.UnrefImage(second_draw_image); 258 cache.UnrefImage(second_draw_image);
240 cache.UnrefImage(third_draw_image); 259 cache.UnrefImage(third_draw_image);
241 } 260 }
242 261
243 TEST(GpuImageDecodeCacheTest, GetTaskForImageLargerScaleNoReuse) { 262 // crbug.com/697171.
263 #if defined(MEMORY_SANITIZER)
264 #define MAYBE_GetTaskForImageLargerScaleNoReuse \
265 DISABLED_GetTaskForImageLargerScaleNoReuse
266 #else
267 #define MAYBE_GetTaskForImageLargerScaleNoReuse \
268 GetTaskForImageLargerScaleNoReuse
269 #endif
270 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageLargerScaleNoReuse) {
244 auto context_provider = TestContextProvider::Create(); 271 auto context_provider = TestContextProvider::Create();
245 context_provider->BindToCurrentThread(); 272 context_provider->BindToCurrentThread();
246 TestGpuImageDecodeCache cache(context_provider.get()); 273 TestGpuImageDecodeCache cache(context_provider.get());
247 bool is_decomposable = true; 274 bool is_decomposable = true;
248 SkFilterQuality quality = kHigh_SkFilterQuality; 275 SkFilterQuality quality = kHigh_SkFilterQuality;
249 276
250 sk_sp<SkImage> first_image = CreateImage(100, 100); 277 sk_sp<SkImage> first_image = CreateImage(100, 100);
251 DrawImage first_draw_image( 278 DrawImage first_draw_image(
252 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()), 279 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
253 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 280 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 28 matching lines...) Expand all
282 TestTileTaskRunner::ProcessTask(first_task->dependencies()[0].get()); 309 TestTileTaskRunner::ProcessTask(first_task->dependencies()[0].get());
283 TestTileTaskRunner::ProcessTask(first_task.get()); 310 TestTileTaskRunner::ProcessTask(first_task.get());
284 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get()); 311 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get());
285 TestTileTaskRunner::ProcessTask(second_task.get()); 312 TestTileTaskRunner::ProcessTask(second_task.get());
286 313
287 cache.UnrefImage(first_draw_image); 314 cache.UnrefImage(first_draw_image);
288 cache.UnrefImage(second_draw_image); 315 cache.UnrefImage(second_draw_image);
289 cache.UnrefImage(third_draw_image); 316 cache.UnrefImage(third_draw_image);
290 } 317 }
291 318
292 TEST(GpuImageDecodeCacheTest, GetTaskForImageHigherQuality) { 319 // crbug.com/697171.
320 #if defined(MEMORY_SANITIZER)
321 #define MAYBE_GetTaskForImageHigherQuality DISABLED_GetTaskForImageHigherQuality
322 #else
323 #define MAYBE_GetTaskForImageHigherQuality GetTaskForImageHigherQuality
324 #endif
325 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageHigherQuality) {
293 auto context_provider = TestContextProvider::Create(); 326 auto context_provider = TestContextProvider::Create();
294 context_provider->BindToCurrentThread(); 327 context_provider->BindToCurrentThread();
295 TestGpuImageDecodeCache cache(context_provider.get()); 328 TestGpuImageDecodeCache cache(context_provider.get());
296 bool is_decomposable = true; 329 bool is_decomposable = true;
297 SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable); 330 SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable);
298 331
299 sk_sp<SkImage> first_image = CreateImage(100, 100); 332 sk_sp<SkImage> first_image = CreateImage(100, 100);
300 DrawImage first_draw_image( 333 DrawImage first_draw_image(
301 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()), 334 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
302 kLow_SkFilterQuality, matrix, DefaultColorSpace()); 335 kLow_SkFilterQuality, matrix, DefaultColorSpace());
(...skipping 17 matching lines...) Expand all
320 EXPECT_TRUE(need_unref); 353 EXPECT_TRUE(need_unref);
321 EXPECT_TRUE(second_task); 354 EXPECT_TRUE(second_task);
322 EXPECT_TRUE(first_task.get() != second_task.get()); 355 EXPECT_TRUE(first_task.get() != second_task.get());
323 356
324 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get()); 357 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get());
325 TestTileTaskRunner::ProcessTask(second_task.get()); 358 TestTileTaskRunner::ProcessTask(second_task.get());
326 359
327 cache.UnrefImage(second_draw_image); 360 cache.UnrefImage(second_draw_image);
328 } 361 }
329 362
330 TEST(GpuImageDecodeCacheTest, GetTaskForImageAlreadyDecodedAndLocked) { 363 // crbug.com/697171.
364 #if defined(MEMORY_SANITIZER)
365 #define MAYBE_GetTaskForImageAlreadyDecodedAndLocked \
366 DISABLED_GetTaskForImageAlreadyDecodedAndLocked
367 #else
368 #define MAYBE_GetTaskForImageAlreadyDecodedAndLocked \
369 GetTaskForImageAlreadyDecodedAndLocked
370 #endif
371 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageAlreadyDecodedAndLocked) {
331 auto context_provider = TestContextProvider::Create(); 372 auto context_provider = TestContextProvider::Create();
332 context_provider->BindToCurrentThread(); 373 context_provider->BindToCurrentThread();
333 TestGpuImageDecodeCache cache(context_provider.get()); 374 TestGpuImageDecodeCache cache(context_provider.get());
334 bool is_decomposable = true; 375 bool is_decomposable = true;
335 SkFilterQuality quality = kHigh_SkFilterQuality; 376 SkFilterQuality quality = kHigh_SkFilterQuality;
336 377
337 sk_sp<SkImage> image = CreateImage(100, 100); 378 sk_sp<SkImage> image = CreateImage(100, 100);
338 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 379 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
339 quality, 380 quality,
340 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 381 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 25 matching lines...) Expand all
366 407
367 TestTileTaskRunner::ProcessTask(another_task.get()); 408 TestTileTaskRunner::ProcessTask(another_task.get());
368 409
369 // Finally, complete the original decode task. 410 // Finally, complete the original decode task.
370 TestTileTaskRunner::CompleteTask(task->dependencies()[0].get()); 411 TestTileTaskRunner::CompleteTask(task->dependencies()[0].get());
371 412
372 cache.UnrefImage(draw_image); 413 cache.UnrefImage(draw_image);
373 cache.UnrefImage(draw_image); 414 cache.UnrefImage(draw_image);
374 } 415 }
375 416
376 TEST(GpuImageDecodeCacheTest, GetTaskForImageAlreadyDecodedNotLocked) { 417 // crbug.com/697171.
418 #if defined(MEMORY_SANITIZER)
419 #define MAYBE_GetTaskForImageAlreadyDecodedNotLocked \
420 DISABLED_GetTaskForImageAlreadyDecodedNotLocked
421 #else
422 #define MAYBE_GetTaskForImageAlreadyDecodedNotLocked \
423 GetTaskForImageAlreadyDecodedNotLocked
424 #endif
425 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageAlreadyDecodedNotLocked) {
377 auto context_provider = TestContextProvider::Create(); 426 auto context_provider = TestContextProvider::Create();
378 context_provider->BindToCurrentThread(); 427 context_provider->BindToCurrentThread();
379 TestGpuImageDecodeCache cache(context_provider.get()); 428 TestGpuImageDecodeCache cache(context_provider.get());
380 bool is_decomposable = true; 429 bool is_decomposable = true;
381 SkFilterQuality quality = kHigh_SkFilterQuality; 430 SkFilterQuality quality = kHigh_SkFilterQuality;
382 431
383 sk_sp<SkImage> image = CreateImage(100, 100); 432 sk_sp<SkImage> image = CreateImage(100, 100);
384 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 433 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
385 quality, 434 quality,
386 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 435 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 25 matching lines...) Expand all
412 EXPECT_TRUE(another_task); 461 EXPECT_TRUE(another_task);
413 EXPECT_EQ(another_task->dependencies().size(), 1u); 462 EXPECT_EQ(another_task->dependencies().size(), 1u);
414 EXPECT_TRUE(task->dependencies()[0]); 463 EXPECT_TRUE(task->dependencies()[0]);
415 464
416 TestTileTaskRunner::ProcessTask(another_task->dependencies()[0].get()); 465 TestTileTaskRunner::ProcessTask(another_task->dependencies()[0].get());
417 TestTileTaskRunner::ProcessTask(another_task.get()); 466 TestTileTaskRunner::ProcessTask(another_task.get());
418 467
419 cache.UnrefImage(draw_image); 468 cache.UnrefImage(draw_image);
420 } 469 }
421 470
422 TEST(GpuImageDecodeCacheTest, GetTaskForImageAlreadyUploaded) { 471 // crbug.com/697171.
472 #if defined(MEMORY_SANITIZER)
473 #define MAYBE_GetTaskForImageAlreadyUploaded \
474 DISABLED_GetTaskForImageAlreadyUploaded
475 #else
476 #define MAYBE_GetTaskForImageAlreadyUploaded GetTaskForImageAlreadyUploaded
477 #endif
478 TEST(GpuImageDecodeCacheTest, MAYBE_GetTaskForImageAlreadyUploaded) {
423 auto context_provider = TestContextProvider::Create(); 479 auto context_provider = TestContextProvider::Create();
424 context_provider->BindToCurrentThread(); 480 context_provider->BindToCurrentThread();
425 TestGpuImageDecodeCache cache(context_provider.get()); 481 TestGpuImageDecodeCache cache(context_provider.get());
426 bool is_decomposable = true; 482 bool is_decomposable = true;
427 SkFilterQuality quality = kHigh_SkFilterQuality; 483 SkFilterQuality quality = kHigh_SkFilterQuality;
428 484
429 sk_sp<SkImage> image = CreateImage(100, 100); 485 sk_sp<SkImage> image = CreateImage(100, 100);
430 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 486 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
431 quality, 487 quality,
432 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 488 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 EXPECT_TRUE(need_unref); 552 EXPECT_TRUE(need_unref);
497 EXPECT_TRUE(third_task); 553 EXPECT_TRUE(third_task);
498 EXPECT_FALSE(third_task.get() == task.get()); 554 EXPECT_FALSE(third_task.get() == task.get());
499 555
500 TestTileTaskRunner::ProcessTask(third_task->dependencies()[0].get()); 556 TestTileTaskRunner::ProcessTask(third_task->dependencies()[0].get());
501 TestTileTaskRunner::ProcessTask(third_task.get()); 557 TestTileTaskRunner::ProcessTask(third_task.get());
502 558
503 cache.UnrefImage(draw_image); 559 cache.UnrefImage(draw_image);
504 } 560 }
505 561
506 TEST(GpuImageDecodeCacheTest, GetTaskForImageCanceledWhileReffedGetsNewTask) { 562 // crbug.com/697171.
563 #if defined(MEMORY_SANITIZER)
564 #define MAYBE_GetTaskForImageCanceledWhileReffedGetsNewTask \
565 DISABLED_GetTaskForImageCanceledWhileReffedGetsNewTask
566 #else
567 #define MAYBE_GetTaskForImageCanceledWhileReffedGetsNewTask \
568 GetTaskForImageCanceledWhileReffedGetsNewTask
569 #endif
570 TEST(GpuImageDecodeCacheTest,
571 MAYBE_GetTaskForImageCanceledWhileReffedGetsNewTask) {
507 auto context_provider = TestContextProvider::Create(); 572 auto context_provider = TestContextProvider::Create();
508 context_provider->BindToCurrentThread(); 573 context_provider->BindToCurrentThread();
509 TestGpuImageDecodeCache cache(context_provider.get()); 574 TestGpuImageDecodeCache cache(context_provider.get());
510 bool is_decomposable = true; 575 bool is_decomposable = true;
511 SkFilterQuality quality = kHigh_SkFilterQuality; 576 SkFilterQuality quality = kHigh_SkFilterQuality;
512 577
513 sk_sp<SkImage> image = CreateImage(100, 100); 578 sk_sp<SkImage> image = CreateImage(100, 100);
514 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 579 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
515 quality, 580 quality,
516 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 581 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 EXPECT_FALSE(third_task.get() == task.get()); 613 EXPECT_FALSE(third_task.get() == task.get());
549 614
550 ASSERT_GT(third_task->dependencies().size(), 0u); 615 ASSERT_GT(third_task->dependencies().size(), 0u);
551 TestTileTaskRunner::ProcessTask(third_task->dependencies()[0].get()); 616 TestTileTaskRunner::ProcessTask(third_task->dependencies()[0].get());
552 TestTileTaskRunner::ProcessTask(third_task.get()); 617 TestTileTaskRunner::ProcessTask(third_task.get());
553 618
554 // Unref! 619 // Unref!
555 cache.UnrefImage(draw_image); 620 cache.UnrefImage(draw_image);
556 } 621 }
557 622
558 TEST(GpuImageDecodeCacheTest, NoTaskForImageAlreadyFailedDecoding) { 623 // crbug.com/697171.
624 #if defined(MEMORY_SANITIZER)
625 #define MAYBE_NoTaskForImageAlreadyFailedDecoding \
626 DISABLED_NoTaskForImageAlreadyFailedDecoding
627 #else
628 #define MAYBE_NoTaskForImageAlreadyFailedDecoding \
629 NoTaskForImageAlreadyFailedDecoding
630 #endif
631 TEST(GpuImageDecodeCacheTest, MAYBE_NoTaskForImageAlreadyFailedDecoding) {
559 auto context_provider = TestContextProvider::Create(); 632 auto context_provider = TestContextProvider::Create();
560 context_provider->BindToCurrentThread(); 633 context_provider->BindToCurrentThread();
561 TestGpuImageDecodeCache cache(context_provider.get()); 634 TestGpuImageDecodeCache cache(context_provider.get());
562 bool is_decomposable = true; 635 bool is_decomposable = true;
563 SkFilterQuality quality = kHigh_SkFilterQuality; 636 SkFilterQuality quality = kHigh_SkFilterQuality;
564 637
565 sk_sp<SkImage> image = CreateImage(100, 100); 638 sk_sp<SkImage> image = CreateImage(100, 100);
566 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 639 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
567 quality, 640 quality,
568 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 641 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 13 matching lines...) Expand all
582 655
583 scoped_refptr<TileTask> another_task; 656 scoped_refptr<TileTask> another_task;
584 need_unref = cache.GetTaskForImageAndRef( 657 need_unref = cache.GetTaskForImageAndRef(
585 draw_image, ImageDecodeCache::TracingInfo(), &another_task); 658 draw_image, ImageDecodeCache::TracingInfo(), &another_task);
586 EXPECT_FALSE(need_unref); 659 EXPECT_FALSE(need_unref);
587 EXPECT_EQ(another_task.get(), nullptr); 660 EXPECT_EQ(another_task.get(), nullptr);
588 661
589 cache.UnrefImage(draw_image); 662 cache.UnrefImage(draw_image);
590 } 663 }
591 664
592 TEST(GpuImageDecodeCacheTest, GetDecodedImageForDraw) { 665 // crbug.com/697171.
666 #if defined(MEMORY_SANITIZER)
667 #define MAYBE_GetDecodedImageForDraw DISABLED_GetDecodedImageForDraw
668 #else
669 #define MAYBE_GetDecodedImageForDraw GetDecodedImageForDraw
670 #endif
671 TEST(GpuImageDecodeCacheTest, MAYBE_GetDecodedImageForDraw) {
593 auto context_provider = TestContextProvider::Create(); 672 auto context_provider = TestContextProvider::Create();
594 context_provider->BindToCurrentThread(); 673 context_provider->BindToCurrentThread();
595 TestGpuImageDecodeCache cache(context_provider.get()); 674 TestGpuImageDecodeCache cache(context_provider.get());
596 bool is_decomposable = true; 675 bool is_decomposable = true;
597 SkFilterQuality quality = kHigh_SkFilterQuality; 676 SkFilterQuality quality = kHigh_SkFilterQuality;
598 677
599 sk_sp<SkImage> image = CreateImage(100, 100); 678 sk_sp<SkImage> image = CreateImage(100, 100);
600 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 679 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
601 quality, 680 quality,
602 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 681 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 DecodedDrawImage decoded_draw_image = 766 DecodedDrawImage decoded_draw_image =
688 cache.GetDecodedImageForDraw(draw_image); 767 cache.GetDecodedImageForDraw(draw_image);
689 EXPECT_TRUE(decoded_draw_image.image()); 768 EXPECT_TRUE(decoded_draw_image.image());
690 EXPECT_TRUE(decoded_draw_image.image()->isTextureBacked()); 769 EXPECT_TRUE(decoded_draw_image.image()->isTextureBacked());
691 EXPECT_TRUE(decoded_draw_image.is_at_raster_decode()); 770 EXPECT_TRUE(decoded_draw_image.is_at_raster_decode());
692 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image)); 771 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image));
693 772
694 cache.DrawWithImageFinished(draw_image, decoded_draw_image); 773 cache.DrawWithImageFinished(draw_image, decoded_draw_image);
695 } 774 }
696 775
697 TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawLargerScale) { 776 // crbug.com/697171.
777 #if defined(MEMORY_SANITIZER)
778 #define MAYBE_GetDecodedImageForDrawLargerScale \
779 DISABLED_GetDecodedImageForDrawLargerScale
780 #else
781 #define MAYBE_GetDecodedImageForDrawLargerScale \
782 GetDecodedImageForDrawLargerScale
783 #endif
784 TEST(GpuImageDecodeCacheTest, MAYBE_GetDecodedImageForDrawLargerScale) {
698 auto context_provider = TestContextProvider::Create(); 785 auto context_provider = TestContextProvider::Create();
699 context_provider->BindToCurrentThread(); 786 context_provider->BindToCurrentThread();
700 TestGpuImageDecodeCache cache(context_provider.get()); 787 TestGpuImageDecodeCache cache(context_provider.get());
701 bool is_decomposable = true; 788 bool is_decomposable = true;
702 SkFilterQuality quality = kHigh_SkFilterQuality; 789 SkFilterQuality quality = kHigh_SkFilterQuality;
703 790
704 sk_sp<SkImage> image = CreateImage(100, 100); 791 sk_sp<SkImage> image = CreateImage(100, 100);
705 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 792 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
706 quality, 793 quality,
707 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 794 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
746 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image)); 833 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image));
747 834
748 EXPECT_FALSE(decoded_draw_image.image() == larger_decoded_draw_image.image()); 835 EXPECT_FALSE(decoded_draw_image.image() == larger_decoded_draw_image.image());
749 836
750 cache.DrawWithImageFinished(draw_image, decoded_draw_image); 837 cache.DrawWithImageFinished(draw_image, decoded_draw_image);
751 cache.UnrefImage(draw_image); 838 cache.UnrefImage(draw_image);
752 cache.DrawWithImageFinished(larger_draw_image, larger_decoded_draw_image); 839 cache.DrawWithImageFinished(larger_draw_image, larger_decoded_draw_image);
753 cache.UnrefImage(larger_draw_image); 840 cache.UnrefImage(larger_draw_image);
754 } 841 }
755 842
756 TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawHigherQuality) { 843 // crbug.com/697171.
844 #if defined(MEMORY_SANITIZER)
845 #define MAYBE_GetDecodedImageForDrawHigherQuality \
846 DISABLED_GetDecodedImageForDrawHigherQuality
847 #else
848 #define MAYBE_GetDecodedImageForDrawHigherQuality \
849 GetDecodedImageForDrawHigherQuality
850 #endif
851 TEST(GpuImageDecodeCacheTest, MAYBE_GetDecodedImageForDrawHigherQuality) {
757 auto context_provider = TestContextProvider::Create(); 852 auto context_provider = TestContextProvider::Create();
758 context_provider->BindToCurrentThread(); 853 context_provider->BindToCurrentThread();
759 TestGpuImageDecodeCache cache(context_provider.get()); 854 TestGpuImageDecodeCache cache(context_provider.get());
760 bool is_decomposable = true; 855 bool is_decomposable = true;
761 SkMatrix matrix = CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable); 856 SkMatrix matrix = CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable);
762 857
763 sk_sp<SkImage> image = CreateImage(100, 100); 858 sk_sp<SkImage> image = CreateImage(100, 100);
764 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 859 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
765 kLow_SkFilterQuality, matrix, DefaultColorSpace()); 860 kLow_SkFilterQuality, matrix, DefaultColorSpace());
766 scoped_refptr<TileTask> task; 861 scoped_refptr<TileTask> task;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 898
804 EXPECT_FALSE(decoded_draw_image.image() == larger_decoded_draw_image.image()); 899 EXPECT_FALSE(decoded_draw_image.image() == larger_decoded_draw_image.image());
805 900
806 cache.DrawWithImageFinished(draw_image, decoded_draw_image); 901 cache.DrawWithImageFinished(draw_image, decoded_draw_image);
807 cache.UnrefImage(draw_image); 902 cache.UnrefImage(draw_image);
808 cache.DrawWithImageFinished(higher_quality_draw_image, 903 cache.DrawWithImageFinished(higher_quality_draw_image,
809 larger_decoded_draw_image); 904 larger_decoded_draw_image);
810 cache.UnrefImage(higher_quality_draw_image); 905 cache.UnrefImage(higher_quality_draw_image);
811 } 906 }
812 907
813 TEST(GpuImageDecodeCacheTest, GetDecodedImageForDrawNegative) { 908 // crbug.com/697171.
909 #if defined(MEMORY_SANITIZER)
910 #define MAYBE_GetDecodedImageForDrawNegative \
911 DISABLED_GetDecodedImageForDrawNegative
912 #else
913 #define MAYBE_GetDecodedImageForDrawNegative GetDecodedImageForDrawNegative
914 #endif
915 TEST(GpuImageDecodeCacheTest, MAYBE_GetDecodedImageForDrawNegative) {
814 auto context_provider = TestContextProvider::Create(); 916 auto context_provider = TestContextProvider::Create();
815 context_provider->BindToCurrentThread(); 917 context_provider->BindToCurrentThread();
816 TestGpuImageDecodeCache cache(context_provider.get()); 918 TestGpuImageDecodeCache cache(context_provider.get());
817 bool is_decomposable = true; 919 bool is_decomposable = true;
818 SkFilterQuality quality = kHigh_SkFilterQuality; 920 SkFilterQuality quality = kHigh_SkFilterQuality;
819 921
820 sk_sp<SkImage> image = CreateImage(100, 100); 922 sk_sp<SkImage> image = CreateImage(100, 100);
821 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 923 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
822 quality, 924 quality,
823 CreateMatrix(SkSize::Make(-0.5f, 0.5f), is_decomposable), 925 CreateMatrix(SkSize::Make(-0.5f, 0.5f), is_decomposable),
(...skipping 16 matching lines...) Expand all
840 EXPECT_EQ(decoded_draw_image.image()->width(), 50); 942 EXPECT_EQ(decoded_draw_image.image()->width(), 50);
841 EXPECT_EQ(decoded_draw_image.image()->height(), 50); 943 EXPECT_EQ(decoded_draw_image.image()->height(), 50);
842 EXPECT_TRUE(decoded_draw_image.image()->isTextureBacked()); 944 EXPECT_TRUE(decoded_draw_image.image()->isTextureBacked());
843 EXPECT_FALSE(decoded_draw_image.is_at_raster_decode()); 945 EXPECT_FALSE(decoded_draw_image.is_at_raster_decode());
844 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image)); 946 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image));
845 947
846 cache.DrawWithImageFinished(draw_image, decoded_draw_image); 948 cache.DrawWithImageFinished(draw_image, decoded_draw_image);
847 cache.UnrefImage(draw_image); 949 cache.UnrefImage(draw_image);
848 } 950 }
849 951
850 TEST(GpuImageDecodeCacheTest, GetLargeScaledDecodedImageForDraw) { 952 // crbug.com/697171.
953 #if defined(MEMORY_SANITIZER)
954 #define MAYBE_GetLargeScaledDecodedImageForDraw \
955 DISABLED_GetLargeScaledDecodedImageForDraw
956 #else
957 #define MAYBE_GetLargeScaledDecodedImageForDraw \
958 GetLargeScaledDecodedImageForDraw
959 #endif
960 TEST(GpuImageDecodeCacheTest, MAYBE_GetLargeScaledDecodedImageForDraw) {
851 auto context_provider = TestContextProvider::Create(); 961 auto context_provider = TestContextProvider::Create();
852 context_provider->BindToCurrentThread(); 962 context_provider->BindToCurrentThread();
853 TestGpuImageDecodeCache cache(context_provider.get()); 963 TestGpuImageDecodeCache cache(context_provider.get());
854 bool is_decomposable = true; 964 bool is_decomposable = true;
855 SkFilterQuality quality = kHigh_SkFilterQuality; 965 SkFilterQuality quality = kHigh_SkFilterQuality;
856 966
857 sk_sp<SkImage> image = CreateImage(1, 48000); 967 sk_sp<SkImage> image = CreateImage(1, 48000);
858 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 968 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
859 quality, 969 quality,
860 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 970 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 18 matching lines...) Expand all
879 EXPECT_EQ(24000, decoded_draw_image.image()->height()); 989 EXPECT_EQ(24000, decoded_draw_image.image()->height());
880 EXPECT_FALSE(decoded_draw_image.image()->isTextureBacked()); 990 EXPECT_FALSE(decoded_draw_image.image()->isTextureBacked());
881 EXPECT_FALSE(decoded_draw_image.is_at_raster_decode()); 991 EXPECT_FALSE(decoded_draw_image.is_at_raster_decode());
882 EXPECT_TRUE(cache.DiscardableIsLockedForTesting(draw_image)); 992 EXPECT_TRUE(cache.DiscardableIsLockedForTesting(draw_image));
883 993
884 cache.DrawWithImageFinished(draw_image, decoded_draw_image); 994 cache.DrawWithImageFinished(draw_image, decoded_draw_image);
885 cache.UnrefImage(draw_image); 995 cache.UnrefImage(draw_image);
886 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image)); 996 EXPECT_FALSE(cache.DiscardableIsLockedForTesting(draw_image));
887 } 997 }
888 998
889 TEST(GpuImageDecodeCacheTest, AtRasterUsedDirectlyIfSpaceAllows) { 999 // crbug.com/697171.
1000 #if defined(MEMORY_SANITIZER)
1001 #define MAYBE_AtRasterUsedDirectlyIfSpaceAllows \
1002 DISABLED_AtRasterUsedDirectlyIfSpaceAllows
1003 #else
1004 #define MAYBE_AtRasterUsedDirectlyIfSpaceAllows \
1005 AtRasterUsedDirectlyIfSpaceAllows
1006 #endif
1007 TEST(GpuImageDecodeCacheTest, MAYBE_AtRasterUsedDirectlyIfSpaceAllows) {
890 auto context_provider = TestContextProvider::Create(); 1008 auto context_provider = TestContextProvider::Create();
891 context_provider->BindToCurrentThread(); 1009 context_provider->BindToCurrentThread();
892 TestGpuImageDecodeCache cache(context_provider.get()); 1010 TestGpuImageDecodeCache cache(context_provider.get());
893 bool is_decomposable = true; 1011 bool is_decomposable = true;
894 SkFilterQuality quality = kHigh_SkFilterQuality; 1012 SkFilterQuality quality = kHigh_SkFilterQuality;
895 1013
896 cache.SetAllByteLimitsForTesting(0); 1014 cache.SetAllByteLimitsForTesting(0);
897 1015
898 sk_sp<SkImage> image = CreateImage(100, 100); 1016 sk_sp<SkImage> image = CreateImage(100, 100);
899 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 1017 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
(...skipping 24 matching lines...) Expand all
924 cache.DrawWithImageFinished(draw_image, decoded_draw_image); 1042 cache.DrawWithImageFinished(draw_image, decoded_draw_image);
925 1043
926 scoped_refptr<TileTask> another_task; 1044 scoped_refptr<TileTask> another_task;
927 bool another_task_needs_unref = cache.GetTaskForImageAndRef( 1045 bool another_task_needs_unref = cache.GetTaskForImageAndRef(
928 draw_image, ImageDecodeCache::TracingInfo(), &task); 1046 draw_image, ImageDecodeCache::TracingInfo(), &task);
929 EXPECT_TRUE(another_task_needs_unref); 1047 EXPECT_TRUE(another_task_needs_unref);
930 EXPECT_FALSE(another_task); 1048 EXPECT_FALSE(another_task);
931 cache.UnrefImage(draw_image); 1049 cache.UnrefImage(draw_image);
932 } 1050 }
933 1051
1052 // crbug.com/697171.
1053 #if defined(MEMORY_SANITIZER)
1054 #define MAYBE_GetDecodedImageForDrawAtRasterDecodeMultipleTimes \
1055 DISABLED_GetDecodedImageForDrawAtRasterDecodeMultipleTimes
1056 #else
1057 #define MAYBE_GetDecodedImageForDrawAtRasterDecodeMultipleTimes \
1058 GetDecodedImageForDrawAtRasterDecodeMultipleTimes
1059 #endif
934 TEST(GpuImageDecodeCacheTest, 1060 TEST(GpuImageDecodeCacheTest,
935 GetDecodedImageForDrawAtRasterDecodeMultipleTimes) { 1061 MAYBE_GetDecodedImageForDrawAtRasterDecodeMultipleTimes) {
936 auto context_provider = TestContextProvider::Create(); 1062 auto context_provider = TestContextProvider::Create();
937 context_provider->BindToCurrentThread(); 1063 context_provider->BindToCurrentThread();
938 TestGpuImageDecodeCache cache(context_provider.get()); 1064 TestGpuImageDecodeCache cache(context_provider.get());
939 bool is_decomposable = true; 1065 bool is_decomposable = true;
940 SkFilterQuality quality = kHigh_SkFilterQuality; 1066 SkFilterQuality quality = kHigh_SkFilterQuality;
941 1067
942 cache.SetAllByteLimitsForTesting(0); 1068 cache.SetAllByteLimitsForTesting(0);
943 1069
944 sk_sp<SkImage> image = CreateImage(100, 100); 1070 sk_sp<SkImage> image = CreateImage(100, 100);
945 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 1071 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
1084 1210
1085 TestTileTaskRunner::CancelTask(task->dependencies()[0].get()); 1211 TestTileTaskRunner::CancelTask(task->dependencies()[0].get());
1086 TestTileTaskRunner::CompleteTask(task->dependencies()[0].get()); 1212 TestTileTaskRunner::CompleteTask(task->dependencies()[0].get());
1087 TestTileTaskRunner::CancelTask(task.get()); 1213 TestTileTaskRunner::CancelTask(task.get());
1088 TestTileTaskRunner::CompleteTask(task.get()); 1214 TestTileTaskRunner::CompleteTask(task.get());
1089 1215
1090 cache.UnrefImage(draw_image); 1216 cache.UnrefImage(draw_image);
1091 EXPECT_EQ(0u, cache.GetBytesUsedForTesting()); 1217 EXPECT_EQ(0u, cache.GetBytesUsedForTesting());
1092 } 1218 }
1093 1219
1094 TEST(GpuImageDecodeCacheTest, ShouldAggressivelyFreeResources) { 1220 // crbug.com/697171.
1221 #if defined(MEMORY_SANITIZER)
1222 #define MAYBE_ShouldAggressivelyFreeResources \
1223 DISABLED_ShouldAggressivelyFreeResources
1224 #else
1225 #define MAYBE_ShouldAggressivelyFreeResources ShouldAggressivelyFreeResources
1226 #endif
1227 TEST(GpuImageDecodeCacheTest, MAYBE_ShouldAggressivelyFreeResources) {
1095 auto context_provider = TestContextProvider::Create(); 1228 auto context_provider = TestContextProvider::Create();
1096 context_provider->BindToCurrentThread(); 1229 context_provider->BindToCurrentThread();
1097 TestGpuImageDecodeCache cache(context_provider.get()); 1230 TestGpuImageDecodeCache cache(context_provider.get());
1098 bool is_decomposable = true; 1231 bool is_decomposable = true;
1099 SkFilterQuality quality = kHigh_SkFilterQuality; 1232 SkFilterQuality quality = kHigh_SkFilterQuality;
1100 1233
1101 sk_sp<SkImage> image = CreateImage(100, 100); 1234 sk_sp<SkImage> image = CreateImage(100, 100);
1102 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()), 1235 DrawImage draw_image(image, SkIRect::MakeWH(image->width(), image->height()),
1103 quality, 1236 quality,
1104 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable), 1237 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable),
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 EXPECT_TRUE(task); 1281 EXPECT_TRUE(task);
1149 1282
1150 TestTileTaskRunner::ProcessTask(task->dependencies()[0].get()); 1283 TestTileTaskRunner::ProcessTask(task->dependencies()[0].get());
1151 TestTileTaskRunner::ProcessTask(task.get()); 1284 TestTileTaskRunner::ProcessTask(task.get());
1152 cache.UnrefImage(draw_image); 1285 cache.UnrefImage(draw_image);
1153 1286
1154 EXPECT_GT(cache.GetBytesUsedForTesting(), 0u); 1287 EXPECT_GT(cache.GetBytesUsedForTesting(), 0u);
1155 } 1288 }
1156 } 1289 }
1157 1290
1158 TEST(GpuImageDecodeCacheTest, OrphanedImagesFreeOnReachingZeroRefs) { 1291 // crbug.com/697171.
1292 #if defined(MEMORY_SANITIZER)
1293 #define MAYBE_OrphanedImagesFreeOnReachingZeroRefs \
1294 DISABLED_OrphanedImagesFreeOnReachingZeroRefs
1295 #else
1296 #define MAYBE_OrphanedImagesFreeOnReachingZeroRefs \
1297 OrphanedImagesFreeOnReachingZeroRefs
1298 #endif
1299 TEST(GpuImageDecodeCacheTest, MAYBE_OrphanedImagesFreeOnReachingZeroRefs) {
1159 auto context_provider = TestContextProvider::Create(); 1300 auto context_provider = TestContextProvider::Create();
1160 context_provider->BindToCurrentThread(); 1301 context_provider->BindToCurrentThread();
1161 TestGpuImageDecodeCache cache(context_provider.get()); 1302 TestGpuImageDecodeCache cache(context_provider.get());
1162 bool is_decomposable = true; 1303 bool is_decomposable = true;
1163 SkFilterQuality quality = kHigh_SkFilterQuality; 1304 SkFilterQuality quality = kHigh_SkFilterQuality;
1164 1305
1165 // Create a downscaled image. 1306 // Create a downscaled image.
1166 sk_sp<SkImage> first_image = CreateImage(100, 100); 1307 sk_sp<SkImage> first_image = CreateImage(100, 100);
1167 DrawImage first_draw_image( 1308 DrawImage first_draw_image(
1168 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()), 1309 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1205 // deleted. 1346 // deleted.
1206 TestTileTaskRunner::ProcessTask(first_task->dependencies()[0].get()); 1347 TestTileTaskRunner::ProcessTask(first_task->dependencies()[0].get());
1207 TestTileTaskRunner::ProcessTask(first_task.get()); 1348 TestTileTaskRunner::ProcessTask(first_task.get());
1208 cache.UnrefImage(first_draw_image); 1349 cache.UnrefImage(first_draw_image);
1209 1350
1210 // The budget should account for exactly one image. 1351 // The budget should account for exactly one image.
1211 EXPECT_EQ(cache.GetBytesUsedForTesting(), 1352 EXPECT_EQ(cache.GetBytesUsedForTesting(),
1212 cache.GetDrawImageSizeForTesting(second_draw_image)); 1353 cache.GetDrawImageSizeForTesting(second_draw_image));
1213 } 1354 }
1214 1355
1215 TEST(GpuImageDecodeCacheTest, OrphanedZeroRefImagesImmediatelyDeleted) { 1356 // crbug.com/697171.
1357 #if defined(MEMORY_SANITIZER)
1358 #define MAYBE_OrphanedZeroRefImagesImmediatelyDeleted \
1359 DISABLED_OrphanedZeroRefImagesImmediatelyDeleted
1360 #else
1361 #define MAYBE_OrphanedZeroRefImagesImmediatelyDeleted \
1362 OrphanedZeroRefImagesImmediatelyDeleted
1363 #endif
1364 TEST(GpuImageDecodeCacheTest, MAYBE_OrphanedZeroRefImagesImmediatelyDeleted) {
1216 auto context_provider = TestContextProvider::Create(); 1365 auto context_provider = TestContextProvider::Create();
1217 context_provider->BindToCurrentThread(); 1366 context_provider->BindToCurrentThread();
1218 TestGpuImageDecodeCache cache(context_provider.get()); 1367 TestGpuImageDecodeCache cache(context_provider.get());
1219 bool is_decomposable = true; 1368 bool is_decomposable = true;
1220 SkFilterQuality quality = kHigh_SkFilterQuality; 1369 SkFilterQuality quality = kHigh_SkFilterQuality;
1221 1370
1222 // Create a downscaled image. 1371 // Create a downscaled image.
1223 sk_sp<SkImage> first_image = CreateImage(100, 100); 1372 sk_sp<SkImage> first_image = CreateImage(100, 100);
1224 DrawImage first_draw_image( 1373 DrawImage first_draw_image(
1225 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()), 1374 first_image, SkIRect::MakeWH(first_image->width(), first_image->height()),
(...skipping 29 matching lines...) Expand all
1255 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get()); 1404 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get());
1256 TestTileTaskRunner::ProcessTask(second_task.get()); 1405 TestTileTaskRunner::ProcessTask(second_task.get());
1257 1406
1258 cache.UnrefImage(second_draw_image); 1407 cache.UnrefImage(second_draw_image);
1259 1408
1260 // The budget should account for exactly one image. 1409 // The budget should account for exactly one image.
1261 EXPECT_EQ(cache.GetBytesUsedForTesting(), 1410 EXPECT_EQ(cache.GetBytesUsedForTesting(),
1262 cache.GetDrawImageSizeForTesting(second_draw_image)); 1411 cache.GetDrawImageSizeForTesting(second_draw_image));
1263 } 1412 }
1264 1413
1265 TEST(GpuImageDecodeCacheTest, QualityCappedAtMedium) { 1414 // crbug.com/697171.
1415 #if defined(MEMORY_SANITIZER)
1416 #define MAYBE_QualityCappedAtMedium DISABLED_QualityCappedAtMedium
1417 #else
1418 #define MAYBE_QualityCappedAtMedium QualityCappedAtMedium
1419 #endif
1420 TEST(GpuImageDecodeCacheTest, MAYBE_QualityCappedAtMedium) {
1266 auto context_provider = TestContextProvider::Create(); 1421 auto context_provider = TestContextProvider::Create();
1267 context_provider->BindToCurrentThread(); 1422 context_provider->BindToCurrentThread();
1268 TestGpuImageDecodeCache cache(context_provider.get()); 1423 TestGpuImageDecodeCache cache(context_provider.get());
1269 sk_sp<SkImage> image = CreateImage(100, 100); 1424 sk_sp<SkImage> image = CreateImage(100, 100);
1270 bool is_decomposable = true; 1425 bool is_decomposable = true;
1271 SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable); 1426 SkMatrix matrix = CreateMatrix(SkSize::Make(0.4f, 0.4f), is_decomposable);
1272 1427
1273 // Create an image with kLow_FilterQuality. 1428 // Create an image with kLow_FilterQuality.
1274 DrawImage low_draw_image(image, 1429 DrawImage low_draw_image(image,
1275 SkIRect::MakeWH(image->width(), image->height()), 1430 SkIRect::MakeWH(image->width(), image->height()),
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
1681 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get()); 1836 TestTileTaskRunner::ProcessTask(second_task->dependencies()[0].get());
1682 TestTileTaskRunner::ProcessTask(second_task.get()); 1837 TestTileTaskRunner::ProcessTask(second_task.get());
1683 1838
1684 cache.UnrefImage(first_draw_image); 1839 cache.UnrefImage(first_draw_image);
1685 cache.UnrefImage(second_draw_image); 1840 cache.UnrefImage(second_draw_image);
1686 cache.UnrefImage(third_draw_image); 1841 cache.UnrefImage(third_draw_image);
1687 } 1842 }
1688 1843
1689 } // namespace 1844 } // namespace
1690 } // namespace cc 1845 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/apps/guest_view/web_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698