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

Side by Side Diff: cc/trees/layer_tree_host_unittest.cc

Issue 634083002: gpu: Compositor management of GpuMemoryBuffer instances. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cc-pre-chromium-image-refactor
Patch Set: rebase Created 6 years, 2 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
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
(...skipping 1882 matching lines...) Expand 10 before | Expand all | Expand 10 after
1893 int num_complete_commits_; 1893 int num_complete_commits_;
1894 }; 1894 };
1895 1895
1896 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits); 1896 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits);
1897 1897
1898 class LayerTreeHostWithProxy : public LayerTreeHost { 1898 class LayerTreeHostWithProxy : public LayerTreeHost {
1899 public: 1899 public:
1900 LayerTreeHostWithProxy(FakeLayerTreeHostClient* client, 1900 LayerTreeHostWithProxy(FakeLayerTreeHostClient* client,
1901 const LayerTreeSettings& settings, 1901 const LayerTreeSettings& settings,
1902 scoped_ptr<FakeProxy> proxy) 1902 scoped_ptr<FakeProxy> proxy)
1903 : LayerTreeHost(client, NULL, settings) { 1903 : LayerTreeHost(client, NULL, NULL, settings) {
1904 proxy->SetLayerTreeHost(this); 1904 proxy->SetLayerTreeHost(this);
1905 client->SetLayerTreeHost(this); 1905 client->SetLayerTreeHost(this);
1906 InitializeForTesting(proxy.Pass()); 1906 InitializeForTesting(proxy.Pass());
1907 } 1907 }
1908 }; 1908 };
1909 1909
1910 TEST(LayerTreeHostTest, LimitPartialUpdates) { 1910 TEST(LayerTreeHostTest, LimitPartialUpdates) {
1911 // When partial updates are not allowed, max updates should be 0. 1911 // When partial updates are not allowed, max updates should be 0.
1912 { 1912 {
1913 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); 1913 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1968 LayerTreeSettings settings; 1968 LayerTreeSettings settings;
1969 settings.max_partial_texture_updates = 4; 1969 settings.max_partial_texture_updates = 4;
1970 settings.single_thread_proxy_scheduler = false; 1970 settings.single_thread_proxy_scheduler = false;
1971 1971
1972 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 1972 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
1973 new TestSharedBitmapManager()); 1973 new TestSharedBitmapManager());
1974 scoped_ptr<LayerTreeHost> host = 1974 scoped_ptr<LayerTreeHost> host =
1975 LayerTreeHost::CreateSingleThreaded(&client, 1975 LayerTreeHost::CreateSingleThreaded(&client,
1976 &client, 1976 &client,
1977 shared_bitmap_manager.get(), 1977 shared_bitmap_manager.get(),
1978 NULL,
1978 settings, 1979 settings,
1979 base::MessageLoopProxy::current()); 1980 base::MessageLoopProxy::current());
1980 client.SetLayerTreeHost(host.get()); 1981 client.SetLayerTreeHost(host.get());
1981 host->Composite(base::TimeTicks::Now()); 1982 host->Composite(base::TimeTicks::Now());
1982 1983
1983 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); 1984 EXPECT_EQ(4u, host->settings().max_partial_texture_updates);
1984 } 1985 }
1985 1986
1986 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) { 1987 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) {
1987 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE); 1988 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE);
1988 1989
1989 LayerTreeSettings settings; 1990 LayerTreeSettings settings;
1990 settings.max_partial_texture_updates = 4; 1991 settings.max_partial_texture_updates = 4;
1991 settings.single_thread_proxy_scheduler = false; 1992 settings.single_thread_proxy_scheduler = false;
1992 1993
1993 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 1994 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
1994 new TestSharedBitmapManager()); 1995 new TestSharedBitmapManager());
1995 scoped_ptr<LayerTreeHost> host = 1996 scoped_ptr<LayerTreeHost> host =
1996 LayerTreeHost::CreateSingleThreaded(&client, 1997 LayerTreeHost::CreateSingleThreaded(&client,
1997 &client, 1998 &client,
1998 shared_bitmap_manager.get(), 1999 shared_bitmap_manager.get(),
2000 NULL,
1999 settings, 2001 settings,
2000 base::MessageLoopProxy::current()); 2002 base::MessageLoopProxy::current());
2001 client.SetLayerTreeHost(host.get()); 2003 client.SetLayerTreeHost(host.get());
2002 host->Composite(base::TimeTicks::Now()); 2004 host->Composite(base::TimeTicks::Now());
2003 2005
2004 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); 2006 EXPECT_EQ(4u, host->settings().max_partial_texture_updates);
2005 } 2007 }
2006 2008
2007 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) { 2009 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) {
2008 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D); 2010 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D);
2009 2011
2010 LayerTreeSettings settings; 2012 LayerTreeSettings settings;
2011 settings.max_partial_texture_updates = 4; 2013 settings.max_partial_texture_updates = 4;
2012 settings.single_thread_proxy_scheduler = false; 2014 settings.single_thread_proxy_scheduler = false;
2013 2015
2014 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 2016 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
2015 new TestSharedBitmapManager()); 2017 new TestSharedBitmapManager());
2016 scoped_ptr<LayerTreeHost> host = 2018 scoped_ptr<LayerTreeHost> host =
2017 LayerTreeHost::CreateSingleThreaded(&client, 2019 LayerTreeHost::CreateSingleThreaded(&client,
2018 &client, 2020 &client,
2019 shared_bitmap_manager.get(), 2021 shared_bitmap_manager.get(),
2022 NULL,
2020 settings, 2023 settings,
2021 base::MessageLoopProxy::current()); 2024 base::MessageLoopProxy::current());
2022 client.SetLayerTreeHost(host.get()); 2025 client.SetLayerTreeHost(host.get());
2023 host->Composite(base::TimeTicks::Now()); 2026 host->Composite(base::TimeTicks::Now());
2024 2027
2025 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); 2028 EXPECT_EQ(0u, host->MaxPartialTextureUpdates());
2026 } 2029 }
2027 2030
2028 TEST(LayerTreeHostTest, 2031 TEST(LayerTreeHostTest,
2029 PartialUpdatesWithDelegatingRendererAndSoftwareContent) { 2032 PartialUpdatesWithDelegatingRendererAndSoftwareContent) {
2030 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE); 2033 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE);
2031 2034
2032 LayerTreeSettings settings; 2035 LayerTreeSettings settings;
2033 settings.max_partial_texture_updates = 4; 2036 settings.max_partial_texture_updates = 4;
2034 settings.single_thread_proxy_scheduler = false; 2037 settings.single_thread_proxy_scheduler = false;
2035 2038
2036 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 2039 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
2037 new TestSharedBitmapManager()); 2040 new TestSharedBitmapManager());
2038 scoped_ptr<LayerTreeHost> host = 2041 scoped_ptr<LayerTreeHost> host =
2039 LayerTreeHost::CreateSingleThreaded(&client, 2042 LayerTreeHost::CreateSingleThreaded(&client,
2040 &client, 2043 &client,
2041 shared_bitmap_manager.get(), 2044 shared_bitmap_manager.get(),
2045 NULL,
2042 settings, 2046 settings,
2043 base::MessageLoopProxy::current()); 2047 base::MessageLoopProxy::current());
2044 client.SetLayerTreeHost(host.get()); 2048 client.SetLayerTreeHost(host.get());
2045 host->Composite(base::TimeTicks::Now()); 2049 host->Composite(base::TimeTicks::Now());
2046 2050
2047 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); 2051 EXPECT_EQ(0u, host->MaxPartialTextureUpdates());
2048 } 2052 }
2049 2053
2050 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted 2054 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted
2051 : public LayerTreeHostTest { 2055 : public LayerTreeHostTest {
(...skipping 3021 matching lines...) Expand 10 before | Expand all | Expand 10 after
5073 bool visible_; 5077 bool visible_;
5074 5078
5075 FakeContentLayerClient client_; 5079 FakeContentLayerClient client_;
5076 scoped_refptr<FakePictureLayer> picture_layer_; 5080 scoped_refptr<FakePictureLayer> picture_layer_;
5077 }; 5081 };
5078 5082
5079 // TODO(vmpstr): Enable with single thread impl-side painting. 5083 // TODO(vmpstr): Enable with single thread impl-side painting.
5080 MULTI_THREAD_TEST_F(LayerTreeHostTestActivateOnInvisible); 5084 MULTI_THREAD_TEST_F(LayerTreeHostTestActivateOnInvisible);
5081 5085
5082 } // namespace cc 5086 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698