OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 EXPECT_NE(new_content_tiles, required_for_draw_tiles); | 349 EXPECT_NE(new_content_tiles, required_for_draw_tiles); |
350 } | 350 } |
351 | 351 |
352 TEST_F(TileManagerTilePriorityQueueTest, | 352 TEST_F(TileManagerTilePriorityQueueTest, |
353 RasterTilePriorityQueueHighNonIdealTilings) { | 353 RasterTilePriorityQueueHighNonIdealTilings) { |
354 const gfx::Size layer_bounds(1000, 1000); | 354 const gfx::Size layer_bounds(1000, 1000); |
355 const gfx::Size viewport(800, 800); | 355 const gfx::Size viewport(800, 800); |
356 host_impl()->SetViewportSize(viewport); | 356 host_impl()->SetViewportSize(viewport); |
357 SetupDefaultTrees(layer_bounds); | 357 SetupDefaultTrees(layer_bounds); |
358 | 358 |
359 pending_layer()->tilings()->AddTiling(1.5f, pending_layer()->raster_source()); | 359 pending_layer()->tilings()->AddTiling( |
360 active_layer()->tilings()->AddTiling(1.5f, active_layer()->raster_source()); | 360 gfx::AxisTransform2d(1.5f, gfx::Vector2dF()), |
361 pending_layer()->tilings()->AddTiling(1.7f, pending_layer()->raster_source()); | 361 pending_layer()->raster_source()); |
362 active_layer()->tilings()->AddTiling(1.7f, active_layer()->raster_source()); | 362 active_layer()->tilings()->AddTiling( |
| 363 gfx::AxisTransform2d(1.5f, gfx::Vector2dF()), |
| 364 active_layer()->raster_source()); |
| 365 pending_layer()->tilings()->AddTiling( |
| 366 gfx::AxisTransform2d(1.7f, gfx::Vector2dF()), |
| 367 pending_layer()->raster_source()); |
| 368 active_layer()->tilings()->AddTiling( |
| 369 gfx::AxisTransform2d(1.7f, gfx::Vector2dF()), |
| 370 active_layer()->raster_source()); |
363 | 371 |
364 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, | 372 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, |
365 5.0, Occlusion(), true); | 373 5.0, Occlusion(), true); |
366 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, | 374 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, |
367 Occlusion(), true); | 375 Occlusion(), true); |
368 | 376 |
369 std::set<Tile*> all_expected_tiles; | 377 std::set<Tile*> all_expected_tiles; |
370 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { | 378 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { |
371 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); | 379 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); |
372 if (tiling->contents_scale() == 1.f) { | 380 if (tiling->contents_scale_key() == 1.f) { |
373 tiling->set_resolution(HIGH_RESOLUTION); | 381 tiling->set_resolution(HIGH_RESOLUTION); |
374 const auto& all_tiles = tiling->AllTilesForTesting(); | 382 const auto& all_tiles = tiling->AllTilesForTesting(); |
375 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 383 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
376 } else { | 384 } else { |
377 tiling->set_resolution(NON_IDEAL_RESOLUTION); | 385 tiling->set_resolution(NON_IDEAL_RESOLUTION); |
378 } | 386 } |
379 } | 387 } |
380 | 388 |
381 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { | 389 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { |
382 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); | 390 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); |
383 if (tiling->contents_scale() == 1.5f) { | 391 if (tiling->contents_scale_key() == 1.5f) { |
384 tiling->set_resolution(HIGH_RESOLUTION); | 392 tiling->set_resolution(HIGH_RESOLUTION); |
385 const auto& all_tiles = tiling->AllTilesForTesting(); | 393 const auto& all_tiles = tiling->AllTilesForTesting(); |
386 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 394 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
387 } else { | 395 } else { |
388 tiling->set_resolution(NON_IDEAL_RESOLUTION); | 396 tiling->set_resolution(NON_IDEAL_RESOLUTION); |
389 // Non ideal tilings with a high res pending twin have to be processed | 397 // Non ideal tilings with a high res pending twin have to be processed |
390 // because of possible activation tiles. | 398 // because of possible activation tiles. |
391 if (tiling->contents_scale() == 1.f) { | 399 if (tiling->contents_scale_key() == 1.f) { |
392 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); | 400 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); |
393 const auto& all_tiles = tiling->AllTilesForTesting(); | 401 const auto& all_tiles = tiling->AllTilesForTesting(); |
394 for (auto* tile : all_tiles) | 402 for (auto* tile : all_tiles) |
395 EXPECT_TRUE(tile->required_for_activation()); | 403 EXPECT_TRUE(tile->required_for_activation()); |
396 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 404 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
397 } | 405 } |
398 } | 406 } |
399 } | 407 } |
400 | 408 |
401 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( | 409 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( |
(...skipping 14 matching lines...) Expand all Loading... |
416 EXPECT_EQ(all_expected_tiles, all_actual_tiles); | 424 EXPECT_EQ(all_expected_tiles, all_actual_tiles); |
417 } | 425 } |
418 | 426 |
419 TEST_F(TileManagerTilePriorityQueueTest, | 427 TEST_F(TileManagerTilePriorityQueueTest, |
420 RasterTilePriorityQueueHighLowTilings) { | 428 RasterTilePriorityQueueHighLowTilings) { |
421 const gfx::Size layer_bounds(1000, 1000); | 429 const gfx::Size layer_bounds(1000, 1000); |
422 const gfx::Size viewport(800, 800); | 430 const gfx::Size viewport(800, 800); |
423 host_impl()->SetViewportSize(viewport); | 431 host_impl()->SetViewportSize(viewport); |
424 SetupDefaultTrees(layer_bounds); | 432 SetupDefaultTrees(layer_bounds); |
425 | 433 |
426 pending_layer()->tilings()->AddTiling(1.5f, pending_layer()->raster_source()); | 434 pending_layer()->tilings()->AddTiling( |
427 active_layer()->tilings()->AddTiling(1.5f, active_layer()->raster_source()); | 435 gfx::AxisTransform2d(1.5f, gfx::Vector2dF()), |
428 pending_layer()->tilings()->AddTiling(1.7f, pending_layer()->raster_source()); | 436 pending_layer()->raster_source()); |
429 active_layer()->tilings()->AddTiling(1.7f, active_layer()->raster_source()); | 437 active_layer()->tilings()->AddTiling( |
| 438 gfx::AxisTransform2d(1.5f, gfx::Vector2dF()), |
| 439 active_layer()->raster_source()); |
| 440 pending_layer()->tilings()->AddTiling( |
| 441 gfx::AxisTransform2d(1.7f, gfx::Vector2dF()), |
| 442 pending_layer()->raster_source()); |
| 443 active_layer()->tilings()->AddTiling( |
| 444 gfx::AxisTransform2d(1.7f, gfx::Vector2dF()), |
| 445 active_layer()->raster_source()); |
430 | 446 |
431 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, | 447 pending_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, |
432 5.0, Occlusion(), true); | 448 5.0, Occlusion(), true); |
433 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, | 449 active_layer()->tilings()->UpdateTilePriorities(gfx::Rect(viewport), 1.f, 5.0, |
434 Occlusion(), true); | 450 Occlusion(), true); |
435 | 451 |
436 std::set<Tile*> all_expected_tiles; | 452 std::set<Tile*> all_expected_tiles; |
437 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { | 453 for (size_t i = 0; i < pending_layer()->num_tilings(); ++i) { |
438 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); | 454 PictureLayerTiling* tiling = pending_layer()->tilings()->tiling_at(i); |
439 if (tiling->contents_scale() == 1.f) { | 455 if (tiling->contents_scale_key() == 1.f) { |
440 tiling->set_resolution(HIGH_RESOLUTION); | 456 tiling->set_resolution(HIGH_RESOLUTION); |
441 const auto& all_tiles = tiling->AllTilesForTesting(); | 457 const auto& all_tiles = tiling->AllTilesForTesting(); |
442 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 458 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
443 } else { | 459 } else { |
444 tiling->set_resolution(NON_IDEAL_RESOLUTION); | 460 tiling->set_resolution(NON_IDEAL_RESOLUTION); |
445 } | 461 } |
446 } | 462 } |
447 | 463 |
448 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { | 464 for (size_t i = 0; i < active_layer()->num_tilings(); ++i) { |
449 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); | 465 PictureLayerTiling* tiling = active_layer()->tilings()->tiling_at(i); |
450 if (tiling->contents_scale() == 1.5f) { | 466 if (tiling->contents_scale_key() == 1.5f) { |
451 tiling->set_resolution(HIGH_RESOLUTION); | 467 tiling->set_resolution(HIGH_RESOLUTION); |
452 const auto& all_tiles = tiling->AllTilesForTesting(); | 468 const auto& all_tiles = tiling->AllTilesForTesting(); |
453 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 469 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
454 } else { | 470 } else { |
455 tiling->set_resolution(LOW_RESOLUTION); | 471 tiling->set_resolution(LOW_RESOLUTION); |
456 // Low res tilings with a high res pending twin have to be processed | 472 // Low res tilings with a high res pending twin have to be processed |
457 // because of possible activation tiles. | 473 // because of possible activation tiles. |
458 if (tiling->contents_scale() == 1.f) { | 474 if (tiling->contents_scale_key() == 1.f) { |
459 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); | 475 tiling->UpdateAndGetAllPrioritizedTilesForTesting(); |
460 const auto& all_tiles = tiling->AllTilesForTesting(); | 476 const auto& all_tiles = tiling->AllTilesForTesting(); |
461 for (auto* tile : all_tiles) | 477 for (auto* tile : all_tiles) |
462 EXPECT_TRUE(tile->required_for_activation()); | 478 EXPECT_TRUE(tile->required_for_activation()); |
463 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); | 479 all_expected_tiles.insert(all_tiles.begin(), all_tiles.end()); |
464 } | 480 } |
465 } | 481 } |
466 } | 482 } |
467 | 483 |
468 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( | 484 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 | 922 |
907 bool last_tile_is_occluded = last_tile.is_occluded(); | 923 bool last_tile_is_occluded = last_tile.is_occluded(); |
908 if (!last_tile_is_occluded) { | 924 if (!last_tile_is_occluded) { |
909 TilePriority::PriorityBin tile_priority_bin = | 925 TilePriority::PriorityBin tile_priority_bin = |
910 prioritized_tile.priority().priority_bin; | 926 prioritized_tile.priority().priority_bin; |
911 TilePriority::PriorityBin last_tile_priority_bin = | 927 TilePriority::PriorityBin last_tile_priority_bin = |
912 last_tile.priority().priority_bin; | 928 last_tile.priority().priority_bin; |
913 | 929 |
914 EXPECT_TRUE((tile_priority_bin < last_tile_priority_bin) || | 930 EXPECT_TRUE((tile_priority_bin < last_tile_priority_bin) || |
915 prioritized_tile.tile()->required_for_activation() || | 931 prioritized_tile.tile()->required_for_activation() || |
916 (prioritized_tile.tile()->contents_scale() != | 932 (prioritized_tile.tile()->raster_transform() != |
917 last_tile.tile()->contents_scale())); | 933 last_tile.tile()->raster_transform())); |
918 } | 934 } |
919 } | 935 } |
920 last_tile = prioritized_tile; | 936 last_tile = prioritized_tile; |
921 queue->Pop(); | 937 queue->Pop(); |
922 } | 938 } |
923 size_t expected_occluded_count = pending_child_high_res_tiles.size(); | 939 size_t expected_occluded_count = pending_child_high_res_tiles.size(); |
924 EXPECT_EQ(expected_occluded_count, occluded_count); | 940 EXPECT_EQ(expected_occluded_count, occluded_count); |
925 } | 941 } |
926 | 942 |
927 TEST_F(TileManagerTilePriorityQueueTest, | 943 TEST_F(TileManagerTilePriorityQueueTest, |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1128 | 1144 |
1129 std::unique_ptr<PictureLayerTilingSet> tiling_set = | 1145 std::unique_ptr<PictureLayerTilingSet> tiling_set = |
1130 PictureLayerTilingSet::Create( | 1146 PictureLayerTilingSet::Create( |
1131 ACTIVE_TREE, &client, settings.tiling_interest_area_padding, | 1147 ACTIVE_TREE, &client, settings.tiling_interest_area_padding, |
1132 settings.skewport_target_time_in_seconds, | 1148 settings.skewport_target_time_in_seconds, |
1133 settings.skewport_extrapolation_limit_in_screen_pixels, | 1149 settings.skewport_extrapolation_limit_in_screen_pixels, |
1134 settings.max_preraster_distance_in_screen_pixels); | 1150 settings.max_preraster_distance_in_screen_pixels); |
1135 | 1151 |
1136 scoped_refptr<FakeRasterSource> raster_source = | 1152 scoped_refptr<FakeRasterSource> raster_source = |
1137 FakeRasterSource::CreateFilled(layer_bounds); | 1153 FakeRasterSource::CreateFilled(layer_bounds); |
1138 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, raster_source); | 1154 PictureLayerTiling* tiling = |
| 1155 tiling_set->AddTiling(gfx::AxisTransform2d(), raster_source); |
1139 tiling->set_resolution(HIGH_RESOLUTION); | 1156 tiling->set_resolution(HIGH_RESOLUTION); |
1140 | 1157 |
1141 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); | 1158 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); |
1142 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting(); | 1159 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting(); |
1143 // Sanity check. | 1160 // Sanity check. |
1144 EXPECT_EQ(3364u, all_tiles.size()); | 1161 EXPECT_EQ(3364u, all_tiles.size()); |
1145 | 1162 |
1146 // The explanation of each iteration is as follows: | 1163 // The explanation of each iteration is as follows: |
1147 // 1. First iteration tests that we can get all of the tiles correctly. | 1164 // 1. First iteration tests that we can get all of the tiles correctly. |
1148 // 2. Second iteration ensures that we can get all of the tiles again (first | 1165 // 2. Second iteration ensures that we can get all of the tiles again (first |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1239 | 1256 |
1240 std::unique_ptr<PictureLayerTilingSet> tiling_set = | 1257 std::unique_ptr<PictureLayerTilingSet> tiling_set = |
1241 PictureLayerTilingSet::Create( | 1258 PictureLayerTilingSet::Create( |
1242 ACTIVE_TREE, &client, settings.tiling_interest_area_padding, | 1259 ACTIVE_TREE, &client, settings.tiling_interest_area_padding, |
1243 settings.skewport_target_time_in_seconds, | 1260 settings.skewport_target_time_in_seconds, |
1244 settings.skewport_extrapolation_limit_in_screen_pixels, | 1261 settings.skewport_extrapolation_limit_in_screen_pixels, |
1245 settings.max_preraster_distance_in_screen_pixels); | 1262 settings.max_preraster_distance_in_screen_pixels); |
1246 | 1263 |
1247 scoped_refptr<FakeRasterSource> raster_source = | 1264 scoped_refptr<FakeRasterSource> raster_source = |
1248 FakeRasterSource::CreateFilled(layer_bounds); | 1265 FakeRasterSource::CreateFilled(layer_bounds); |
1249 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, raster_source); | 1266 PictureLayerTiling* tiling = |
| 1267 tiling_set->AddTiling(gfx::AxisTransform2d(), raster_source); |
1250 tiling->set_resolution(HIGH_RESOLUTION); | 1268 tiling->set_resolution(HIGH_RESOLUTION); |
1251 | 1269 |
1252 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); | 1270 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); |
1253 tiling_set->UpdateTilePriorities(moved_viewport, 1.0f, 2.0, Occlusion(), | 1271 tiling_set->UpdateTilePriorities(moved_viewport, 1.0f, 2.0, Occlusion(), |
1254 true); | 1272 true); |
1255 | 1273 |
1256 const int soon_border_outset = 312; | 1274 const int soon_border_outset = 312; |
1257 gfx::Rect soon_rect = moved_viewport; | 1275 gfx::Rect soon_rect = moved_viewport; |
1258 soon_rect.Inset(-soon_border_outset, -soon_border_outset); | 1276 soon_rect.Inset(-soon_border_outset, -soon_border_outset); |
1259 | 1277 |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1395 FakeRasterSource::CreateFilled(layer_bounds); | 1413 FakeRasterSource::CreateFilled(layer_bounds); |
1396 | 1414 |
1397 FakePictureLayerTilingClient pending_client; | 1415 FakePictureLayerTilingClient pending_client; |
1398 pending_client.SetTileSize(gfx::Size(64, 64)); | 1416 pending_client.SetTileSize(gfx::Size(64, 64)); |
1399 | 1417 |
1400 std::unique_ptr<PictureLayerTilingSet> tiling_set = | 1418 std::unique_ptr<PictureLayerTilingSet> tiling_set = |
1401 PictureLayerTilingSet::Create(WhichTree::ACTIVE_TREE, &pending_client, | 1419 PictureLayerTilingSet::Create(WhichTree::ACTIVE_TREE, &pending_client, |
1402 1.0f, 1.0f, 1000, 1000.f); | 1420 1.0f, 1.0f, 1000, 1000.f); |
1403 pending_client.set_twin_tiling_set(tiling_set.get()); | 1421 pending_client.set_twin_tiling_set(tiling_set.get()); |
1404 | 1422 |
1405 auto* tiling = tiling_set->AddTiling(1.0f, raster_source); | 1423 auto* tiling = tiling_set->AddTiling(gfx::AxisTransform2d(), raster_source); |
1406 | 1424 |
1407 tiling->set_resolution(HIGH_RESOLUTION); | 1425 tiling->set_resolution(HIGH_RESOLUTION); |
1408 tiling->CreateAllTilesForTesting(); | 1426 tiling->CreateAllTilesForTesting(); |
1409 | 1427 |
1410 // The tile is (0, 0, 1, 1), create an intersecting and non-intersecting | 1428 // The tile is (0, 0, 1, 1), create an intersecting and non-intersecting |
1411 // rectangle to test the advance phase with. The tile size is (64, 64), so | 1429 // rectangle to test the advance phase with. The tile size is (64, 64), so |
1412 // both rectangles intersect the tile content size, but only one should | 1430 // both rectangles intersect the tile content size, but only one should |
1413 // intersect the actual size. | 1431 // intersect the actual size. |
1414 gfx::Rect non_intersecting_rect(2, 2, 10, 10); | 1432 gfx::Rect non_intersecting_rect(2, 2, 10, 10); |
1415 gfx::Rect intersecting_rect(0, 0, 10, 10); | 1433 gfx::Rect intersecting_rect(0, 0, 10, 10); |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1471 RasterSource::CreateFromRecordingSource(recording_source.get(), false); | 1489 RasterSource::CreateFromRecordingSource(recording_source.get(), false); |
1472 | 1490 |
1473 FakePictureLayerTilingClient tiling_client; | 1491 FakePictureLayerTilingClient tiling_client; |
1474 tiling_client.SetTileSize(size); | 1492 tiling_client.SetTileSize(size); |
1475 | 1493 |
1476 std::unique_ptr<PictureLayerImpl> layer_impl = PictureLayerImpl::Create( | 1494 std::unique_ptr<PictureLayerImpl> layer_impl = PictureLayerImpl::Create( |
1477 host_impl()->active_tree(), 1, Layer::LayerMaskType::NOT_MASK); | 1495 host_impl()->active_tree(), 1, Layer::LayerMaskType::NOT_MASK); |
1478 layer_impl->set_is_drawn_render_surface_layer_list_member(true); | 1496 layer_impl->set_is_drawn_render_surface_layer_list_member(true); |
1479 PictureLayerTilingSet* tiling_set = layer_impl->picture_layer_tiling_set(); | 1497 PictureLayerTilingSet* tiling_set = layer_impl->picture_layer_tiling_set(); |
1480 | 1498 |
1481 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, raster_source); | 1499 PictureLayerTiling* tiling = |
| 1500 tiling_set->AddTiling(gfx::AxisTransform2d(), raster_source); |
1482 tiling->set_resolution(HIGH_RESOLUTION); | 1501 tiling->set_resolution(HIGH_RESOLUTION); |
1483 tiling->CreateAllTilesForTesting(); | 1502 tiling->CreateAllTilesForTesting(); |
1484 tiling->SetTilePriorityRectsForTesting( | 1503 tiling->SetTilePriorityRectsForTesting( |
1485 gfx::Rect(layer_bounds), // Visible rect. | 1504 gfx::Rect(layer_bounds), // Visible rect. |
1486 gfx::Rect(layer_bounds), // Skewport rect. | 1505 gfx::Rect(layer_bounds), // Skewport rect. |
1487 gfx::Rect(layer_bounds), // Soon rect. | 1506 gfx::Rect(layer_bounds), // Soon rect. |
1488 gfx::Rect(layer_bounds)); // Eventually rect. | 1507 gfx::Rect(layer_bounds)); // Eventually rect. |
1489 | 1508 |
1490 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); | 1509 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); |
1491 | 1510 |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1674 RasterSource::CreateFromRecordingSource(recording_source.get(), false); | 1693 RasterSource::CreateFromRecordingSource(recording_source.get(), false); |
1675 | 1694 |
1676 FakePictureLayerTilingClient tiling_client; | 1695 FakePictureLayerTilingClient tiling_client; |
1677 tiling_client.SetTileSize(size); | 1696 tiling_client.SetTileSize(size); |
1678 | 1697 |
1679 std::unique_ptr<PictureLayerImpl> layer = PictureLayerImpl::Create( | 1698 std::unique_ptr<PictureLayerImpl> layer = PictureLayerImpl::Create( |
1680 host_impl()->active_tree(), 1, Layer::LayerMaskType::NOT_MASK); | 1699 host_impl()->active_tree(), 1, Layer::LayerMaskType::NOT_MASK); |
1681 PictureLayerTilingSet* tiling_set = layer->picture_layer_tiling_set(); | 1700 PictureLayerTilingSet* tiling_set = layer->picture_layer_tiling_set(); |
1682 layer->set_is_drawn_render_surface_layer_list_member(true); | 1701 layer->set_is_drawn_render_surface_layer_list_member(true); |
1683 | 1702 |
1684 auto* tiling = tiling_set->AddTiling(1.0f, raster); | 1703 auto* tiling = tiling_set->AddTiling(gfx::AxisTransform2d(), raster); |
1685 tiling->set_resolution(resolutions[i]); | 1704 tiling->set_resolution(resolutions[i]); |
1686 tiling->CreateAllTilesForTesting(); | 1705 tiling->CreateAllTilesForTesting(); |
1687 tiling->SetTilePriorityRectsForTesting( | 1706 tiling->SetTilePriorityRectsForTesting( |
1688 gfx::Rect(size), // Visible rect. | 1707 gfx::Rect(size), // Visible rect. |
1689 gfx::Rect(size), // Skewport rect. | 1708 gfx::Rect(size), // Skewport rect. |
1690 gfx::Rect(size), // Soon rect. | 1709 gfx::Rect(size), // Soon rect. |
1691 gfx::Rect(size)); // Eventually rect. | 1710 gfx::Rect(size)); // Eventually rect. |
1692 | 1711 |
1693 // SMOOTHNESS_TAKES_PRIORITY ensures that we will actually raster | 1712 // SMOOTHNESS_TAKES_PRIORITY ensures that we will actually raster |
1694 // LOW_RESOLUTION tiles, otherwise they are skipped. | 1713 // LOW_RESOLUTION tiles, otherwise they are skipped. |
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2356 | 2375 |
2357 recording_source->Rerecord(); | 2376 recording_source->Rerecord(); |
2358 scoped_refptr<RasterSource> raster_source = | 2377 scoped_refptr<RasterSource> raster_source = |
2359 RasterSource::CreateFromRecordingSource(recording_source.get(), false); | 2378 RasterSource::CreateFromRecordingSource(recording_source.get(), false); |
2360 | 2379 |
2361 std::unique_ptr<PictureLayerImpl> layer_impl = PictureLayerImpl::Create( | 2380 std::unique_ptr<PictureLayerImpl> layer_impl = PictureLayerImpl::Create( |
2362 host_impl()->active_tree(), 1, Layer::LayerMaskType::NOT_MASK); | 2381 host_impl()->active_tree(), 1, Layer::LayerMaskType::NOT_MASK); |
2363 layer_impl->set_is_drawn_render_surface_layer_list_member(true); | 2382 layer_impl->set_is_drawn_render_surface_layer_list_member(true); |
2364 PictureLayerTilingSet* tiling_set = layer_impl->picture_layer_tiling_set(); | 2383 PictureLayerTilingSet* tiling_set = layer_impl->picture_layer_tiling_set(); |
2365 | 2384 |
2366 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, raster_source); | 2385 PictureLayerTiling* tiling = |
| 2386 tiling_set->AddTiling(gfx::AxisTransform2d(), raster_source); |
2367 tiling->set_resolution(HIGH_RESOLUTION); | 2387 tiling->set_resolution(HIGH_RESOLUTION); |
2368 tiling->CreateAllTilesForTesting(); | 2388 tiling->CreateAllTilesForTesting(); |
2369 tiling->SetTilePriorityRectsForTesting( | 2389 tiling->SetTilePriorityRectsForTesting( |
2370 gfx::Rect(layer_bounds), // Visible rect. | 2390 gfx::Rect(layer_bounds), // Visible rect. |
2371 gfx::Rect(layer_bounds), // Skewport rect. | 2391 gfx::Rect(layer_bounds), // Skewport rect. |
2372 gfx::Rect(layer_bounds), // Soon rect. | 2392 gfx::Rect(layer_bounds), // Soon rect. |
2373 gfx::Rect(layer_bounds)); // Eventually rect. | 2393 gfx::Rect(layer_bounds)); // Eventually rect. |
2374 | 2394 |
2375 // PrepareTiles and synchronously run all tasks added to the TaskGraph. Since | 2395 // PrepareTiles and synchronously run all tasks added to the TaskGraph. Since |
2376 // we are using a strict mock for the SkImageGenerator, if the decode runs as | 2396 // we are using a strict mock for the SkImageGenerator, if the decode runs as |
2377 // a part of raster tasks, the test should fail. | 2397 // a part of raster tasks, the test should fail. |
2378 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); | 2398 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); |
2379 EXPECT_TRUE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting()); | 2399 EXPECT_TRUE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting()); |
2380 static_cast<SynchronousTaskGraphRunner*>(task_graph_runner())->RunUntilIdle(); | 2400 static_cast<SynchronousTaskGraphRunner*>(task_graph_runner())->RunUntilIdle(); |
2381 base::RunLoop().RunUntilIdle(); | 2401 base::RunLoop().RunUntilIdle(); |
2382 EXPECT_FALSE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting()); | 2402 EXPECT_FALSE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting()); |
2383 } | 2403 } |
2384 | 2404 |
2385 } // namespace | 2405 } // namespace |
2386 } // namespace cc | 2406 } // namespace cc |
OLD | NEW |