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 "cc/layers/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <limits> | 10 #include <limits> |
(...skipping 2943 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2954 } | 2954 } |
2955 } | 2955 } |
2956 | 2956 |
2957 // Sanity checks. | 2957 // Sanity checks. |
2958 EXPECT_EQ(16u, all_tiles.size()); | 2958 EXPECT_EQ(16u, all_tiles.size()); |
2959 EXPECT_EQ(16u, all_tiles_set.size()); | 2959 EXPECT_EQ(16u, all_tiles_set.size()); |
2960 EXPECT_GT(number_of_marked_tiles, 1u); | 2960 EXPECT_GT(number_of_marked_tiles, 1u); |
2961 EXPECT_GT(number_of_unmarked_tiles, 1u); | 2961 EXPECT_GT(number_of_unmarked_tiles, 1u); |
2962 | 2962 |
2963 // Tiles don't have resources yet. | 2963 // Tiles don't have resources yet. |
2964 std::unique_ptr<TilingSetEvictionQueue> queue( | 2964 std::unique_ptr<TilingSetEvictionQueue> queue(new TilingSetEvictionQueue( |
2965 new TilingSetEvictionQueue(pending_layer()->picture_layer_tiling_set())); | 2965 pending_layer()->picture_layer_tiling_set(), |
| 2966 pending_layer()->contributes_to_drawn_render_surface())); |
2966 EXPECT_TRUE(queue->IsEmpty()); | 2967 EXPECT_TRUE(queue->IsEmpty()); |
2967 | 2968 |
2968 host_impl()->tile_manager()->InitializeTilesWithResourcesForTesting( | 2969 host_impl()->tile_manager()->InitializeTilesWithResourcesForTesting( |
2969 all_tiles); | 2970 all_tiles); |
2970 | 2971 |
2971 std::set<Tile*> unique_tiles; | 2972 std::set<Tile*> unique_tiles; |
2972 float expected_scales[] = {low_res_factor, 1.f}; | 2973 float expected_scales[] = {low_res_factor, 1.f}; |
2973 size_t scale_index = 0; | 2974 size_t scale_index = 0; |
2974 bool reached_visible = false; | 2975 bool reached_visible = false; |
2975 PrioritizedTile last_tile; | 2976 PrioritizedTile last_tile; |
2976 size_t distance_decreasing = 0; | 2977 size_t distance_decreasing = 0; |
2977 size_t distance_increasing = 0; | 2978 size_t distance_increasing = 0; |
2978 queue.reset( | 2979 queue.reset(new TilingSetEvictionQueue( |
2979 new TilingSetEvictionQueue(pending_layer()->picture_layer_tiling_set())); | 2980 pending_layer()->picture_layer_tiling_set(), |
| 2981 pending_layer()->contributes_to_drawn_render_surface())); |
2980 while (!queue->IsEmpty()) { | 2982 while (!queue->IsEmpty()) { |
2981 PrioritizedTile prioritized_tile = queue->Top(); | 2983 PrioritizedTile prioritized_tile = queue->Top(); |
2982 Tile* tile = prioritized_tile.tile(); | 2984 Tile* tile = prioritized_tile.tile(); |
2983 if (!last_tile.tile()) | 2985 if (!last_tile.tile()) |
2984 last_tile = prioritized_tile; | 2986 last_tile = prioritized_tile; |
2985 | 2987 |
2986 EXPECT_TRUE(tile); | 2988 EXPECT_TRUE(tile); |
2987 | 2989 |
2988 TilePriority priority = prioritized_tile.priority(); | 2990 TilePriority priority = prioritized_tile.priority(); |
2989 | 2991 |
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3653 return settings; | 3655 return settings; |
3654 } | 3656 } |
3655 | 3657 |
3656 void VerifyEvictionConsidersOcclusion(FakePictureLayerImpl* layer, | 3658 void VerifyEvictionConsidersOcclusion(FakePictureLayerImpl* layer, |
3657 WhichTree tree, | 3659 WhichTree tree, |
3658 size_t expected_occluded_tile_count, | 3660 size_t expected_occluded_tile_count, |
3659 int source_line) { | 3661 int source_line) { |
3660 size_t occluded_tile_count = 0u; | 3662 size_t occluded_tile_count = 0u; |
3661 PrioritizedTile last_tile; | 3663 PrioritizedTile last_tile; |
3662 | 3664 |
3663 std::unique_ptr<TilingSetEvictionQueue> queue( | 3665 std::unique_ptr<TilingSetEvictionQueue> queue(new TilingSetEvictionQueue( |
3664 new TilingSetEvictionQueue(layer->picture_layer_tiling_set())); | 3666 layer->picture_layer_tiling_set(), |
| 3667 layer->contributes_to_drawn_render_surface())); |
3665 while (!queue->IsEmpty()) { | 3668 while (!queue->IsEmpty()) { |
3666 PrioritizedTile prioritized_tile = queue->Top(); | 3669 PrioritizedTile prioritized_tile = queue->Top(); |
3667 Tile* tile = prioritized_tile.tile(); | 3670 Tile* tile = prioritized_tile.tile(); |
3668 if (!last_tile.tile()) | 3671 if (!last_tile.tile()) |
3669 last_tile = prioritized_tile; | 3672 last_tile = prioritized_tile; |
3670 | 3673 |
3671 // The only way we will encounter an occluded tile after an unoccluded | 3674 // The only way we will encounter an occluded tile after an unoccluded |
3672 // tile is if the priorty bin decreased, the tile is required for | 3675 // tile is if the priorty bin decreased, the tile is required for |
3673 // activation, or the scale changed. | 3676 // activation, or the scale changed. |
3674 bool tile_is_occluded = prioritized_tile.is_occluded(); | 3677 bool tile_is_occluded = prioritized_tile.is_occluded(); |
(...skipping 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5144 EXPECT_EQ(gfx::AxisTransform2d(2.25f, gfx::Vector2dF(0.75f, 0.25f)), | 5147 EXPECT_EQ(gfx::AxisTransform2d(2.25f, gfx::Vector2dF(0.75f, 0.25f)), |
5145 tiling->raster_transform()); | 5148 tiling->raster_transform()); |
5146 EXPECT_EQ(4u, tiling->AllTilesForTesting().size()); | 5149 EXPECT_EQ(4u, tiling->AllTilesForTesting().size()); |
5147 for (auto* tile : tiling->AllTilesForTesting()) | 5150 for (auto* tile : tiling->AllTilesForTesting()) |
5148 EXPECT_EQ(tile->raster_transform(), tiling->raster_transform()); | 5151 EXPECT_EQ(tile->raster_transform(), tiling->raster_transform()); |
5149 } | 5152 } |
5150 } | 5153 } |
5151 | 5154 |
5152 } // namespace | 5155 } // namespace |
5153 } // namespace cc | 5156 } // namespace cc |
OLD | NEW |