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

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

Issue 2110083004: Partial raster for GPU (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@partialuma2
Patch Set: Add missing resource cleanup to unit tests. Created 4 years, 5 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/tiles/tile_manager.cc ('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 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"
(...skipping 1313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1324 EXPECT_FALSE(host_impl()->is_likely_to_require_a_draw()); 1324 EXPECT_FALSE(host_impl()->is_likely_to_require_a_draw());
1325 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); 1325 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state());
1326 EXPECT_TRUE(host_impl()->is_likely_to_require_a_draw()); 1326 EXPECT_TRUE(host_impl()->is_likely_to_require_a_draw());
1327 1327
1328 Resource* resource = host_impl()->resource_pool()->AcquireResource( 1328 Resource* resource = host_impl()->resource_pool()->AcquireResource(
1329 gfx::Size(256, 256), RGBA_8888); 1329 gfx::Size(256, 256), RGBA_8888);
1330 1330
1331 host_impl()->tile_manager()->CheckIfMoreTilesNeedToBePreparedForTesting(); 1331 host_impl()->tile_manager()->CheckIfMoreTilesNeedToBePreparedForTesting();
1332 EXPECT_FALSE(host_impl()->is_likely_to_require_a_draw()); 1332 EXPECT_FALSE(host_impl()->is_likely_to_require_a_draw());
1333 1333
1334 host_impl()->resource_pool()->ReleaseResource(resource, 0); 1334 host_impl()->resource_pool()->ReleaseResource(resource);
1335 } 1335 }
1336 1336
1337 TEST_F(TileManagerTilePriorityQueueTest, DefaultMemoryPolicy) { 1337 TEST_F(TileManagerTilePriorityQueueTest, DefaultMemoryPolicy) {
1338 const gfx::Size layer_bounds(1000, 1000); 1338 const gfx::Size layer_bounds(1000, 1000);
1339 host_impl()->SetViewportSize(layer_bounds); 1339 host_impl()->SetViewportSize(layer_bounds);
1340 SetupDefaultTrees(layer_bounds); 1340 SetupDefaultTrees(layer_bounds);
1341 1341
1342 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); 1342 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state());
1343 1343
1344 // 64MB is the default mem limit. 1344 // 64MB is the default mem limit.
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
1776 EXPECT_FALSE(queue->IsEmpty()); 1776 EXPECT_FALSE(queue->IsEmpty());
1777 queue->Top().tile()->SetInvalidated(gfx::Rect(), kInvalidatedId); 1777 queue->Top().tile()->SetInvalidated(gfx::Rect(), kInvalidatedId);
1778 1778
1779 // PrepareTiles to schedule tasks. Due to the FakeTileTaskManagerImpl, 1779 // PrepareTiles to schedule tasks. Due to the FakeTileTaskManagerImpl,
1780 // these tasks will immediately be canceled. 1780 // these tasks will immediately be canceled.
1781 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state()); 1781 host_impl()->tile_manager()->PrepareTiles(host_impl()->global_tile_state());
1782 1782
1783 // Make sure that the tile we invalidated above was not returned to the pool 1783 // Make sure that the tile we invalidated above was not returned to the pool
1784 // with its invalidated resource ID. 1784 // with its invalidated resource ID.
1785 host_impl()->resource_pool()->CheckBusyResources(); 1785 host_impl()->resource_pool()->CheckBusyResources();
1786 EXPECT_FALSE(host_impl()->resource_pool()->TryAcquireResourceWithContentId( 1786 gfx::Rect total_invalidated_rect;
1787 kInvalidatedId)); 1787 EXPECT_FALSE(host_impl()->resource_pool()->TryAcquireResourceForPartialRaster(
1788 kInvalidatedId + 1, gfx::Rect(), kInvalidatedId,
1789 &total_invalidated_rect));
1790 EXPECT_EQ(gfx::Rect(), total_invalidated_rect);
1788 1791
1789 // Free our host_impl_ before the tile_task_manager we passed it, as it 1792 // Free our host_impl_ before the tile_task_manager we passed it, as it
1790 // will use that class in clean up. 1793 // will use that class in clean up.
1791 TakeHostImpl(); 1794 TakeHostImpl();
1792 } 1795 }
1793 1796
1794 // FakeRasterBufferProviderImpl that verifies the resource content ID of raster 1797 // FakeRasterBufferProviderImpl that verifies the resource content ID of raster
1795 // tasks. 1798 // tasks.
1796 class VerifyResourceContentIdRasterBufferProvider 1799 class VerifyResourceContentIdRasterBufferProvider
1797 : public FakeRasterBufferProviderImpl { 1800 : public FakeRasterBufferProviderImpl {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1829 // raster task we see is created with |kExpectedId|. 1832 // raster task we see is created with |kExpectedId|.
1830 FakeTileTaskManagerImpl tile_task_manager; 1833 FakeTileTaskManagerImpl tile_task_manager;
1831 host_impl->tile_manager()->SetTileTaskManagerForTesting(&tile_task_manager); 1834 host_impl->tile_manager()->SetTileTaskManagerForTesting(&tile_task_manager);
1832 1835
1833 VerifyResourceContentIdRasterBufferProvider raster_buffer_provider( 1836 VerifyResourceContentIdRasterBufferProvider raster_buffer_provider(
1834 kExpectedId); 1837 kExpectedId);
1835 host_impl->tile_manager()->SetRasterBufferProviderForTesting( 1838 host_impl->tile_manager()->SetRasterBufferProviderForTesting(
1836 &raster_buffer_provider); 1839 &raster_buffer_provider);
1837 1840
1838 // Ensure there's a resource with our |kInvalidatedId| in the resource pool. 1841 // Ensure there's a resource with our |kInvalidatedId| in the resource pool.
1839 host_impl->resource_pool()->ReleaseResource( 1842 auto* resource =
1840 host_impl->resource_pool()->AcquireResource(kTileSize, RGBA_8888), 1843 host_impl->resource_pool()->AcquireResource(kTileSize, RGBA_8888);
1841 kInvalidatedId); 1844 host_impl->resource_pool()->OnContentReplaced(resource->id(), kInvalidatedId);
1845 host_impl->resource_pool()->ReleaseResource(resource);
1842 host_impl->resource_pool()->CheckBusyResources(); 1846 host_impl->resource_pool()->CheckBusyResources();
1843 1847
1844 scoped_refptr<FakeRasterSource> pending_raster_source = 1848 scoped_refptr<FakeRasterSource> pending_raster_source =
1845 FakeRasterSource::CreateFilled(kTileSize); 1849 FakeRasterSource::CreateFilled(kTileSize);
1846 host_impl->CreatePendingTree(); 1850 host_impl->CreatePendingTree();
1847 LayerTreeImpl* pending_tree = host_impl->pending_tree(); 1851 LayerTreeImpl* pending_tree = host_impl->pending_tree();
1848 1852
1849 // Steal from the recycled tree. 1853 // Steal from the recycled tree.
1850 std::unique_ptr<FakePictureLayerImpl> pending_layer = 1854 std::unique_ptr<FakePictureLayerImpl> pending_layer =
1851 FakePictureLayerImpl::CreateWithRasterSource(pending_tree, kLayerId, 1855 FakePictureLayerImpl::CreateWithRasterSource(pending_tree, kLayerId,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1884 } 1888 }
1885 1889
1886 // 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
1887 // raster is disabled. 1891 // raster is disabled.
1888 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) { 1892 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) {
1889 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */); 1893 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */);
1890 } 1894 }
1891 1895
1892 } // namespace 1896 } // namespace
1893 } // namespace cc 1897 } // namespace cc
OLDNEW
« no previous file with comments | « cc/tiles/tile_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698