| 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 |