| 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 "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| 11 #include "cc/playback/raster_source.h" | 11 #include "cc/playback/raster_source.h" |
| 12 #include "cc/playback/recording_source.h" | 12 #include "cc/playback/recording_source.h" |
| 13 #include "cc/raster/raster_buffer.h" | 13 #include "cc/raster/raster_buffer.h" |
| 14 #include "cc/raster/synchronous_task_graph_runner.h" | 14 #include "cc/raster/synchronous_task_graph_runner.h" |
| 15 #include "cc/resources/resource_pool.h" | 15 #include "cc/resources/resource_pool.h" |
| 16 #include "cc/test/begin_frame_args_test.h" | 16 #include "cc/test/begin_frame_args_test.h" |
| 17 #include "cc/test/fake_impl_task_runner_provider.h" | 17 #include "cc/test/fake_impl_task_runner_provider.h" |
| 18 #include "cc/test/fake_layer_tree_host_impl.h" | 18 #include "cc/test/fake_layer_tree_host_impl.h" |
| 19 #include "cc/test/fake_output_surface.h" | 19 #include "cc/test/fake_output_surface.h" |
| 20 #include "cc/test/fake_output_surface_client.h" | 20 #include "cc/test/fake_output_surface_client.h" |
| 21 #include "cc/test/fake_picture_layer_impl.h" | 21 #include "cc/test/fake_picture_layer_impl.h" |
| 22 #include "cc/test/fake_picture_layer_tiling_client.h" | 22 #include "cc/test/fake_picture_layer_tiling_client.h" |
| 23 #include "cc/test/fake_raster_source.h" | 23 #include "cc/test/fake_raster_source.h" |
| 24 #include "cc/test/fake_recording_source.h" | 24 #include "cc/test/fake_recording_source.h" |
| 25 #include "cc/test/fake_tile_manager.h" | 25 #include "cc/test/fake_tile_manager.h" |
| 26 #include "cc/test/fake_tile_task_manager.h" | 26 #include "cc/test/fake_tile_task_manager.h" |
| 27 #include "cc/test/layer_tree_settings_for_testing.h" |
| 27 #include "cc/test/test_gpu_memory_buffer_manager.h" | 28 #include "cc/test/test_gpu_memory_buffer_manager.h" |
| 28 #include "cc/test/test_layer_tree_host_base.h" | 29 #include "cc/test/test_layer_tree_host_base.h" |
| 29 #include "cc/test/test_shared_bitmap_manager.h" | 30 #include "cc/test/test_shared_bitmap_manager.h" |
| 30 #include "cc/test/test_task_graph_runner.h" | 31 #include "cc/test/test_task_graph_runner.h" |
| 31 #include "cc/test/test_tile_priorities.h" | 32 #include "cc/test/test_tile_priorities.h" |
| 32 #include "cc/tiles/eviction_tile_priority_queue.h" | 33 #include "cc/tiles/eviction_tile_priority_queue.h" |
| 33 #include "cc/tiles/raster_tile_priority_queue.h" | 34 #include "cc/tiles/raster_tile_priority_queue.h" |
| 34 #include "cc/tiles/tile.h" | 35 #include "cc/tiles/tile.h" |
| 35 #include "cc/tiles/tile_priority.h" | 36 #include "cc/tiles/tile_priority.h" |
| 36 #include "cc/tiles/tiling_set_raster_queue_all.h" | 37 #include "cc/tiles/tiling_set_raster_queue_all.h" |
| 37 #include "cc/trees/layer_tree_impl.h" | 38 #include "cc/trees/layer_tree_impl.h" |
| 38 #include "testing/gmock/include/gmock/gmock.h" | 39 #include "testing/gmock/include/gmock/gmock.h" |
| 39 #include "testing/gtest/include/gtest/gtest.h" | 40 #include "testing/gtest/include/gtest/gtest.h" |
| 40 #include "third_party/skia/include/core/SkRefCnt.h" | 41 #include "third_party/skia/include/core/SkRefCnt.h" |
| 41 #include "third_party/skia/include/core/SkSurface.h" | 42 #include "third_party/skia/include/core/SkSurface.h" |
| 42 | 43 |
| 43 namespace cc { | 44 namespace cc { |
| 44 namespace { | 45 namespace { |
| 45 | 46 |
| 46 class TileManagerTilePriorityQueueTest : public TestLayerTreeHostBase { | 47 class TileManagerTilePriorityQueueTest : public TestLayerTreeHostBase { |
| 47 public: | 48 public: |
| 48 LayerTreeSettings CreateSettings() override { | 49 LayerTreeSettings CreateSettings() override { |
| 49 LayerTreeSettings settings; | 50 LayerTreeSettingsForTesting settings; |
| 50 settings.create_low_res_tiling = true; | 51 settings.create_low_res_tiling = true; |
| 51 settings.verify_clip_tree_calculations = true; | |
| 52 settings.verify_transform_tree_calculations = true; | |
| 53 settings.renderer_settings.buffer_to_texture_target_map = | 52 settings.renderer_settings.buffer_to_texture_target_map = |
| 54 DefaultBufferToTextureTargetMapForTesting(); | 53 DefaultBufferToTextureTargetMapForTesting(); |
| 55 return settings; | 54 return settings; |
| 56 } | 55 } |
| 57 | 56 |
| 58 TileManager* tile_manager() { return host_impl()->tile_manager(); } | 57 TileManager* tile_manager() { return host_impl()->tile_manager(); } |
| 59 }; | 58 }; |
| 60 | 59 |
| 61 TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) { | 60 TEST_F(TileManagerTilePriorityQueueTest, RasterTilePriorityQueue) { |
| 62 const gfx::Size layer_bounds(1000, 1000); | 61 const gfx::Size layer_bounds(1000, 1000); |
| (...skipping 1432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1495 const LayerTreeSettings& settings, | 1494 const LayerTreeSettings& settings, |
| 1496 TaskRunnerProvider* task_runner_provider, | 1495 TaskRunnerProvider* task_runner_provider, |
| 1497 SharedBitmapManager* shared_bitmap_manager, | 1496 SharedBitmapManager* shared_bitmap_manager, |
| 1498 TaskGraphRunner* task_graph_runner, | 1497 TaskGraphRunner* task_graph_runner, |
| 1499 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager) override { | 1498 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager) override { |
| 1500 return base::WrapUnique(new MockLayerTreeHostImpl( | 1499 return base::WrapUnique(new MockLayerTreeHostImpl( |
| 1501 settings, task_runner_provider, shared_bitmap_manager, | 1500 settings, task_runner_provider, shared_bitmap_manager, |
| 1502 task_graph_runner, gpu_memory_buffer_manager)); | 1501 task_graph_runner, gpu_memory_buffer_manager)); |
| 1503 } | 1502 } |
| 1504 | 1503 |
| 1505 // By default use SoftwareOutputSurface. | 1504 // By default use software compositing (no context provider). |
| 1506 std::unique_ptr<OutputSurface> CreateOutputSurface() override { | 1505 std::unique_ptr<OutputSurface> CreateOutputSurface() override { |
| 1507 return FakeOutputSurface::CreateSoftware( | 1506 return FakeOutputSurface::CreateDelegatingSoftware(); |
| 1508 base::WrapUnique(new SoftwareOutputDevice)); | |
| 1509 } | 1507 } |
| 1510 | 1508 |
| 1511 MockLayerTreeHostImpl& MockHostImpl() { | 1509 MockLayerTreeHostImpl& MockHostImpl() { |
| 1512 return *static_cast<MockLayerTreeHostImpl*>(host_impl()); | 1510 return *static_cast<MockLayerTreeHostImpl*>(host_impl()); |
| 1513 } | 1511 } |
| 1514 }; | 1512 }; |
| 1515 | 1513 |
| 1516 // Test to ensure that we call NotifyAllTileTasksCompleted when PrepareTiles is | 1514 // Test to ensure that we call NotifyAllTileTasksCompleted when PrepareTiles is |
| 1517 // called. | 1515 // called. |
| 1518 TEST_F(TileManagerTest, AllWorkFinishedTest) { | 1516 TEST_F(TileManagerTest, AllWorkFinishedTest) { |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1890 } | 1888 } |
| 1891 | 1889 |
| 1892 // Ensures that the tile manager does not attempt to reuse tiles when partial | 1890 // Ensures that the tile manager does not attempt to reuse tiles when partial |
| 1893 // raster is disabled. | 1891 // raster is disabled. |
| 1894 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) { | 1892 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) { |
| 1895 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */); | 1893 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */); |
| 1896 } | 1894 } |
| 1897 | 1895 |
| 1898 } // namespace | 1896 } // namespace |
| 1899 } // namespace cc | 1897 } // namespace cc |
| OLD | NEW |