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

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

Issue 2655233006: cc : Clean up cc clip tree (Closed)
Patch Set: rebase Created 3 years, 9 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/test/test_layer_tree_host_base.cc ('k') | cc/trees/clip_node.h » ('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 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 "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/test/test_simple_task_runner.h" 12 #include "base/test/test_simple_task_runner.h"
13 #include "base/threading/thread_task_runner_handle.h" 13 #include "base/threading/thread_task_runner_handle.h"
14 #include "cc/layers/recording_source.h" 14 #include "cc/layers/recording_source.h"
15 #include "cc/raster/raster_buffer.h" 15 #include "cc/raster/raster_buffer.h"
16 #include "cc/raster/raster_source.h" 16 #include "cc/raster/raster_source.h"
17 #include "cc/raster/synchronous_task_graph_runner.h" 17 #include "cc/raster/synchronous_task_graph_runner.h"
18 #include "cc/resources/resource_pool.h" 18 #include "cc/resources/resource_pool.h"
19 #include "cc/test/begin_frame_args_test.h" 19 #include "cc/test/begin_frame_args_test.h"
20 #include "cc/test/fake_compositor_frame_sink.h" 20 #include "cc/test/fake_compositor_frame_sink.h"
21 #include "cc/test/fake_compositor_frame_sink_client.h" 21 #include "cc/test/fake_compositor_frame_sink_client.h"
22 #include "cc/test/fake_impl_task_runner_provider.h" 22 #include "cc/test/fake_impl_task_runner_provider.h"
23 #include "cc/test/fake_layer_tree_host_impl.h" 23 #include "cc/test/fake_layer_tree_host_impl.h"
24 #include "cc/test/fake_picture_layer_impl.h" 24 #include "cc/test/fake_picture_layer_impl.h"
25 #include "cc/test/fake_picture_layer_tiling_client.h" 25 #include "cc/test/fake_picture_layer_tiling_client.h"
26 #include "cc/test/fake_raster_source.h" 26 #include "cc/test/fake_raster_source.h"
27 #include "cc/test/fake_recording_source.h" 27 #include "cc/test/fake_recording_source.h"
28 #include "cc/test/fake_tile_manager.h" 28 #include "cc/test/fake_tile_manager.h"
29 #include "cc/test/fake_tile_task_manager.h" 29 #include "cc/test/fake_tile_task_manager.h"
30 #include "cc/test/layer_tree_settings_for_testing.h"
31 #include "cc/test/test_layer_tree_host_base.h" 30 #include "cc/test/test_layer_tree_host_base.h"
32 #include "cc/test/test_task_graph_runner.h" 31 #include "cc/test/test_task_graph_runner.h"
33 #include "cc/test/test_tile_priorities.h" 32 #include "cc/test/test_tile_priorities.h"
34 #include "cc/tiles/eviction_tile_priority_queue.h" 33 #include "cc/tiles/eviction_tile_priority_queue.h"
35 #include "cc/tiles/raster_tile_priority_queue.h" 34 #include "cc/tiles/raster_tile_priority_queue.h"
36 #include "cc/tiles/tile.h" 35 #include "cc/tiles/tile.h"
37 #include "cc/tiles/tile_priority.h" 36 #include "cc/tiles/tile_priority.h"
38 #include "cc/tiles/tiling_set_raster_queue_all.h" 37 #include "cc/tiles/tiling_set_raster_queue_all.h"
39 #include "cc/trees/layer_tree_impl.h" 38 #include "cc/trees/layer_tree_impl.h"
40 #include "testing/gmock/include/gmock/gmock.h" 39 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 75
77 protected: 76 protected:
78 ~SynchronousSimpleTaskRunner() override = default; 77 ~SynchronousSimpleTaskRunner() override = default;
79 78
80 bool run_tasks_synchronously_ = false; 79 bool run_tasks_synchronously_ = false;
81 }; 80 };
82 81
83 class TileManagerTilePriorityQueueTest : public TestLayerTreeHostBase { 82 class TileManagerTilePriorityQueueTest : public TestLayerTreeHostBase {
84 public: 83 public:
85 LayerTreeSettings CreateSettings() override { 84 LayerTreeSettings CreateSettings() override {
86 LayerTreeSettingsForTesting settings; 85 LayerTreeSettings settings;
87 settings.create_low_res_tiling = true; 86 settings.create_low_res_tiling = true;
88 settings.renderer_settings.buffer_to_texture_target_map = 87 settings.renderer_settings.buffer_to_texture_target_map =
89 DefaultBufferToTextureTargetMapForTesting(); 88 DefaultBufferToTextureTargetMapForTesting();
90 return settings; 89 return settings;
91 } 90 }
92 91
93 TileManager* tile_manager() { return host_impl()->tile_manager(); } 92 TileManager* tile_manager() { return host_impl()->tile_manager(); }
94 }; 93 };
95 94
96 TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) { 95 TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) {
(...skipping 1021 matching lines...) Expand 10 before | Expand all | Expand 10 after
1118 1117
1119 gfx::Rect viewport(50, 50, 500, 500); 1118 gfx::Rect viewport(50, 50, 500, 500);
1120 gfx::Size layer_bounds(1600, 1600); 1119 gfx::Size layer_bounds(1600, 1600);
1121 1120
1122 const int soon_border_outset = 312; 1121 const int soon_border_outset = 312;
1123 gfx::Rect soon_rect = viewport; 1122 gfx::Rect soon_rect = viewport;
1124 soon_rect.Inset(-soon_border_outset, -soon_border_outset); 1123 soon_rect.Inset(-soon_border_outset, -soon_border_outset);
1125 1124
1126 client.SetTileSize(gfx::Size(30, 30)); 1125 client.SetTileSize(gfx::Size(30, 30));
1127 LayerTreeSettings settings; 1126 LayerTreeSettings settings;
1128 settings.verify_clip_tree_calculations = true;
1129 1127
1130 std::unique_ptr<PictureLayerTilingSet> tiling_set = 1128 std::unique_ptr<PictureLayerTilingSet> tiling_set =
1131 PictureLayerTilingSet::Create( 1129 PictureLayerTilingSet::Create(
1132 ACTIVE_TREE, &client, settings.tiling_interest_area_padding, 1130 ACTIVE_TREE, &client, settings.tiling_interest_area_padding,
1133 settings.skewport_target_time_in_seconds, 1131 settings.skewport_target_time_in_seconds,
1134 settings.skewport_extrapolation_limit_in_screen_pixels, 1132 settings.skewport_extrapolation_limit_in_screen_pixels,
1135 settings.max_preraster_distance_in_screen_pixels); 1133 settings.max_preraster_distance_in_screen_pixels);
1136 1134
1137 scoped_refptr<FakeRasterSource> raster_source = 1135 scoped_refptr<FakeRasterSource> raster_source =
1138 FakeRasterSource::CreateFilled(layer_bounds); 1136 FakeRasterSource::CreateFilled(layer_bounds);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1230 TEST_F(TileManagerTilePriorityQueueTest, 1228 TEST_F(TileManagerTilePriorityQueueTest,
1231 RasterTilePriorityQueueMovingViewport) { 1229 RasterTilePriorityQueueMovingViewport) {
1232 FakePictureLayerTilingClient client; 1230 FakePictureLayerTilingClient client;
1233 1231
1234 gfx::Rect viewport(50, 0, 100, 100); 1232 gfx::Rect viewport(50, 0, 100, 100);
1235 gfx::Rect moved_viewport(50, 0, 100, 500); 1233 gfx::Rect moved_viewport(50, 0, 100, 500);
1236 gfx::Size layer_bounds(1000, 1000); 1234 gfx::Size layer_bounds(1000, 1000);
1237 1235
1238 client.SetTileSize(gfx::Size(30, 30)); 1236 client.SetTileSize(gfx::Size(30, 30));
1239 LayerTreeSettings settings; 1237 LayerTreeSettings settings;
1240 settings.verify_clip_tree_calculations = true;
1241 1238
1242 std::unique_ptr<PictureLayerTilingSet> tiling_set = 1239 std::unique_ptr<PictureLayerTilingSet> tiling_set =
1243 PictureLayerTilingSet::Create( 1240 PictureLayerTilingSet::Create(
1244 ACTIVE_TREE, &client, settings.tiling_interest_area_padding, 1241 ACTIVE_TREE, &client, settings.tiling_interest_area_padding,
1245 settings.skewport_target_time_in_seconds, 1242 settings.skewport_target_time_in_seconds,
1246 settings.skewport_extrapolation_limit_in_screen_pixels, 1243 settings.skewport_extrapolation_limit_in_screen_pixels,
1247 settings.max_preraster_distance_in_screen_pixels); 1244 settings.max_preraster_distance_in_screen_pixels);
1248 1245
1249 scoped_refptr<FakeRasterSource> raster_source = 1246 scoped_refptr<FakeRasterSource> raster_source =
1250 FakeRasterSource::CreateFilled(layer_bounds); 1247 FakeRasterSource::CreateFilled(layer_bounds);
(...skipping 778 matching lines...) Expand 10 before | Expand all | Expand 10 after
2029 for (int i = 0; i < 100; ++i) { 2026 for (int i = 0; i < 100; ++i) {
2030 for (int j = 0; j < 100; ++j) { 2027 for (int j = 0; j < 100; ++j) {
2031 recording_source_->add_draw_rect_with_flags( 2028 recording_source_->add_draw_rect_with_flags(
2032 gfx::Rect(10 * i, 10 * j, 5, 5), non_solid_flags); 2029 gfx::Rect(10 * i, 10 * j, 5, 5), non_solid_flags);
2033 } 2030 }
2034 } 2031 }
2035 recording_source_->Rerecord(); 2032 recording_source_->Rerecord();
2036 } 2033 }
2037 2034
2038 LayerTreeSettings CreateSettings() override { 2035 LayerTreeSettings CreateSettings() override {
2039 LayerTreeSettingsForTesting settings; 2036 LayerTreeSettings settings;
2040 settings.renderer_settings.buffer_to_texture_target_map = 2037 settings.renderer_settings.buffer_to_texture_target_map =
2041 DefaultBufferToTextureTargetMapForTesting(); 2038 DefaultBufferToTextureTargetMapForTesting();
2042 return settings; 2039 return settings;
2043 } 2040 }
2044 2041
2045 void SetupTreesWithActiveTreeTiles() { 2042 void SetupTreesWithActiveTreeTiles() {
2046 scoped_refptr<RasterSource> active_tree_raster_source = 2043 scoped_refptr<RasterSource> active_tree_raster_source =
2047 RasterSource::CreateFromRecordingSource(recording_source_.get(), false); 2044 RasterSource::CreateFromRecordingSource(recording_source_.get(), false);
2048 scoped_refptr<RasterSource> pending_tree_raster_source = 2045 scoped_refptr<RasterSource> pending_tree_raster_source =
2049 RasterSource::CreateFromRecordingSource( 2046 RasterSource::CreateFromRecordingSource(
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
2379 // a part of raster tasks, the test should fail. 2376 // a part of raster tasks, the test should fail.
2380 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); 2377 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state());
2381 EXPECT_TRUE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting()); 2378 EXPECT_TRUE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting());
2382 static_cast<SynchronousTaskGraphRunner*>(task_graph_runner())->RunUntilIdle(); 2379 static_cast<SynchronousTaskGraphRunner*>(task_graph_runner())->RunUntilIdle();
2383 base::RunLoop().RunUntilIdle(); 2380 base::RunLoop().RunUntilIdle();
2384 EXPECT_FALSE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting()); 2381 EXPECT_FALSE(host_impl()->tile_manager()->HasScheduledTileTasksForTesting());
2385 } 2382 }
2386 2383
2387 } // namespace 2384 } // namespace
2388 } // namespace cc 2385 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/test_layer_tree_host_base.cc ('k') | cc/trees/clip_node.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698