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

Side by Side Diff: cc/resources/picture_layer_tiling_unittest.cc

Issue 428533008: cc: Remove vectors from tiling eviction tile iterator. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removed unused var Created 6 years, 4 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 | « cc/resources/picture_layer_tiling_set.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/resources/picture_layer_tiling.h" 5 #include "cc/resources/picture_layer_tiling.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <set> 8 #include <set>
9 9
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 scoped_ptr<FakeOutputSurface> output_surface = FakeOutputSurface::Create3d(); 1035 scoped_ptr<FakeOutputSurface> output_surface = FakeOutputSurface::Create3d();
1036 CHECK(output_surface->BindToClient(&output_surface_client)); 1036 CHECK(output_surface->BindToClient(&output_surface_client));
1037 TestSharedBitmapManager shared_bitmap_manager; 1037 TestSharedBitmapManager shared_bitmap_manager;
1038 scoped_ptr<ResourceProvider> resource_provider = ResourceProvider::Create( 1038 scoped_ptr<ResourceProvider> resource_provider = ResourceProvider::Create(
1039 output_surface.get(), &shared_bitmap_manager, 0, false, 1, false); 1039 output_surface.get(), &shared_bitmap_manager, 0, false, 1, false);
1040 1040
1041 FakePictureLayerTilingClient client(resource_provider.get()); 1041 FakePictureLayerTilingClient client(resource_provider.get());
1042 scoped_ptr<TestablePictureLayerTiling> tiling; 1042 scoped_ptr<TestablePictureLayerTiling> tiling;
1043 1043
1044 gfx::Rect viewport(50, 50, 100, 100); 1044 gfx::Rect viewport(50, 50, 100, 100);
1045 gfx::Size layer_bounds(200, 200); 1045 gfx::Size layer_bounds(2000, 2000);
1046 1046
1047 client.SetTileSize(gfx::Size(30, 30)); 1047 client.SetTileSize(gfx::Size(30, 30));
1048 client.set_tree(ACTIVE_TREE); 1048 client.set_tree(ACTIVE_TREE);
1049 1049
1050 tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client); 1050 tiling = TestablePictureLayerTiling::Create(1.0f, layer_bounds, &client);
1051 tiling->UpdateTilePriorities( 1051 tiling->UpdateTilePriorities(
1052 ACTIVE_TREE, viewport, 1.0f, 1.0, NULL, NULL, gfx::Transform()); 1052 ACTIVE_TREE, viewport, 1.0f, 1.0, NULL, NULL, gfx::Transform());
1053 1053
1054 PictureLayerTiling::TilingRasterTileIterator empty_iterator; 1054 PictureLayerTiling::TilingRasterTileIterator empty_iterator;
1055 EXPECT_FALSE(empty_iterator); 1055 EXPECT_FALSE(empty_iterator);
1056 1056
1057 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting(); 1057 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting();
1058 1058
1059 PictureLayerTiling::TilingEvictionTileIterator it(tiling.get(), 1059 PictureLayerTiling::TilingEvictionTileIterator it(
1060 SMOOTHNESS_TAKES_PRIORITY); 1060 tiling.get(), SMOOTHNESS_TAKES_PRIORITY, TilePriority::NOW, false);
1061 1061
1062 // Tiles don't have resources to evict. 1062 // Tiles don't have resources to evict.
1063 EXPECT_FALSE(it); 1063 EXPECT_FALSE(it);
1064 1064
1065 // Sanity check. 1065 // Sanity check.
1066 EXPECT_EQ(64u, all_tiles.size()); 1066 EXPECT_EQ(5184u, all_tiles.size());
1067 1067
1068 client.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); 1068 client.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles);
1069 1069
1070 std::set<Tile*> all_tiles_set(all_tiles.begin(), all_tiles.end()); 1070 std::set<Tile*> all_tiles_set(all_tiles.begin(), all_tiles.end());
1071 1071
1072 std::set<Tile*> eviction_tiles;
1073
1072 it = PictureLayerTiling::TilingEvictionTileIterator( 1074 it = PictureLayerTiling::TilingEvictionTileIterator(
1073 tiling.get(), SMOOTHNESS_TAKES_PRIORITY); 1075 tiling.get(), SMOOTHNESS_TAKES_PRIORITY, TilePriority::EVENTUALLY, false);
1074 EXPECT_TRUE(it); 1076 EXPECT_TRUE(it);
1075
1076 std::set<Tile*> eviction_tiles;
1077 Tile* last_tile = *it;
1078 for (; it; ++it) { 1077 for (; it; ++it) {
1079 Tile* tile = *it; 1078 Tile* tile = *it;
1080 EXPECT_TRUE(tile); 1079 EXPECT_TRUE(tile);
1081 EXPECT_LE(tile->priority(ACTIVE_TREE).priority_bin, 1080 EXPECT_EQ(TilePriority::EVENTUALLY,
1082 last_tile->priority(ACTIVE_TREE).priority_bin); 1081 tile->priority(ACTIVE_TREE).priority_bin);
1083 if (tile->priority(ACTIVE_TREE).priority_bin == 1082 EXPECT_FALSE(tile->required_for_activation());
1084 last_tile->priority(ACTIVE_TREE).priority_bin) {
1085 EXPECT_LE(tile->priority(ACTIVE_TREE).distance_to_visible,
1086 last_tile->priority(ACTIVE_TREE).distance_to_visible);
1087 }
1088 last_tile = tile;
1089 eviction_tiles.insert(tile); 1083 eviction_tiles.insert(tile);
1090 } 1084 }
1091 1085
1086 it = PictureLayerTiling::TilingEvictionTileIterator(
1087 tiling.get(), SMOOTHNESS_TAKES_PRIORITY, TilePriority::SOON, false);
1088 EXPECT_TRUE(it);
1089 for (; it; ++it) {
1090 Tile* tile = *it;
1091 EXPECT_TRUE(tile);
1092 EXPECT_EQ(TilePriority::SOON, tile->priority(ACTIVE_TREE).priority_bin);
1093 EXPECT_FALSE(tile->required_for_activation());
1094 eviction_tiles.insert(tile);
1095 }
1096
1097 it = PictureLayerTiling::TilingEvictionTileIterator(
1098 tiling.get(), SMOOTHNESS_TAKES_PRIORITY, TilePriority::NOW, false);
1099 EXPECT_TRUE(it);
1100 for (; it; ++it) {
1101 Tile* tile = *it;
1102 EXPECT_TRUE(tile);
1103 EXPECT_EQ(TilePriority::NOW, tile->priority(ACTIVE_TREE).priority_bin);
1104 EXPECT_FALSE(tile->required_for_activation());
1105 eviction_tiles.insert(tile);
1106 }
1107
1108 it = PictureLayerTiling::TilingEvictionTileIterator(
1109 tiling.get(), SMOOTHNESS_TAKES_PRIORITY, TilePriority::NOW, true);
1110 EXPECT_FALSE(it);
1111
1092 EXPECT_GT(all_tiles_set.size(), 0u); 1112 EXPECT_GT(all_tiles_set.size(), 0u);
1093 EXPECT_EQ(all_tiles_set, eviction_tiles); 1113 EXPECT_EQ(all_tiles_set, eviction_tiles);
1094 } 1114 }
1095 1115
1096 TEST_F(PictureLayerTilingIteratorTest, TilesExist) { 1116 TEST_F(PictureLayerTilingIteratorTest, TilesExist) {
1097 gfx::Size layer_bounds(1099, 801); 1117 gfx::Size layer_bounds(1099, 801);
1098 Initialize(gfx::Size(100, 100), 1.f, layer_bounds); 1118 Initialize(gfx::Size(100, 100), 1.f, layer_bounds);
1099 VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds)); 1119 VerifyTilesExactlyCoverRect(1.f, gfx::Rect(layer_bounds));
1100 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false)); 1120 VerifyTiles(1.f, gfx::Rect(layer_bounds), base::Bind(&TileExists, false));
1101 1121
(...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after
1861 EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); 1881 EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible);
1862 EXPECT_EQ(TilePriority::NOW, priority.priority_bin); 1882 EXPECT_EQ(TilePriority::NOW, priority.priority_bin);
1863 1883
1864 priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE); 1884 priority = tiling->TileAt(1, 0)->priority(ACTIVE_TREE);
1865 EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible); 1885 EXPECT_FLOAT_EQ(0.f, priority.distance_to_visible);
1866 EXPECT_EQ(TilePriority::NOW, priority.priority_bin); 1886 EXPECT_EQ(TilePriority::NOW, priority.priority_bin);
1867 } 1887 }
1868 1888
1869 } // namespace 1889 } // namespace
1870 } // namespace cc 1890 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/picture_layer_tiling_set.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698