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

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

Issue 1014993002: [exp] cc: Introduce cc::CompositorMutator. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
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 2066 matching lines...) Expand 10 before | Expand all | Expand 10 after
2077 int num_send_begin_main_frame_; 2077 int num_send_begin_main_frame_;
2078 }; 2078 };
2079 2079
2080 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits); 2080 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits);
2081 2081
2082 class LayerTreeHostWithProxy : public LayerTreeHost { 2082 class LayerTreeHostWithProxy : public LayerTreeHost {
2083 public: 2083 public:
2084 LayerTreeHostWithProxy(FakeLayerTreeHostClient* client, 2084 LayerTreeHostWithProxy(FakeLayerTreeHostClient* client,
2085 const LayerTreeSettings& settings, 2085 const LayerTreeSettings& settings,
2086 scoped_ptr<FakeProxy> proxy) 2086 scoped_ptr<FakeProxy> proxy)
2087 : LayerTreeHost(client, NULL, NULL, settings) { 2087 : LayerTreeHost(client, NULL, NULL, NULL, settings) {
2088 proxy->SetLayerTreeHost(this); 2088 proxy->SetLayerTreeHost(this);
2089 client->SetLayerTreeHost(this); 2089 client->SetLayerTreeHost(this);
2090 InitializeForTesting(proxy.Pass()); 2090 InitializeForTesting(proxy.Pass());
2091 } 2091 }
2092 }; 2092 };
2093 2093
2094 TEST(LayerTreeHostTest, LimitPartialUpdates) { 2094 TEST(LayerTreeHostTest, LimitPartialUpdates) {
2095 // When partial updates are not allowed, max updates should be 0. 2095 // When partial updates are not allowed, max updates should be 0.
2096 { 2096 {
2097 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); 2097 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2149 TEST(LayerTreeHostTest, PartialUpdatesWithGLRenderer) { 2149 TEST(LayerTreeHostTest, PartialUpdatesWithGLRenderer) {
2150 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); 2150 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D);
2151 2151
2152 LayerTreeSettings settings; 2152 LayerTreeSettings settings;
2153 settings.max_partial_texture_updates = 4; 2153 settings.max_partial_texture_updates = 4;
2154 settings.single_thread_proxy_scheduler = false; 2154 settings.single_thread_proxy_scheduler = false;
2155 settings.impl_side_painting = false; 2155 settings.impl_side_painting = false;
2156 2156
2157 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 2157 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
2158 new TestSharedBitmapManager()); 2158 new TestSharedBitmapManager());
2159 scoped_ptr<LayerTreeHost> host = 2159 scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded(
2160 LayerTreeHost::CreateSingleThreaded(&client, 2160 &client, &client, shared_bitmap_manager.get(), NULL, nullptr, settings,
2161 &client, 2161 base::MessageLoopProxy::current(), nullptr);
2162 shared_bitmap_manager.get(),
2163 NULL,
2164 settings,
2165 base::MessageLoopProxy::current(),
2166 nullptr);
2167 client.SetLayerTreeHost(host.get()); 2162 client.SetLayerTreeHost(host.get());
2168 host->Composite(base::TimeTicks::Now()); 2163 host->Composite(base::TimeTicks::Now());
2169 2164
2170 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); 2165 EXPECT_EQ(4u, host->settings().max_partial_texture_updates);
2171 } 2166 }
2172 2167
2173 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) { 2168 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) {
2174 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE); 2169 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE);
2175 2170
2176 LayerTreeSettings settings; 2171 LayerTreeSettings settings;
2177 settings.max_partial_texture_updates = 4; 2172 settings.max_partial_texture_updates = 4;
2178 settings.single_thread_proxy_scheduler = false; 2173 settings.single_thread_proxy_scheduler = false;
2179 settings.impl_side_painting = false; 2174 settings.impl_side_painting = false;
2180 2175
2181 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 2176 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
2182 new TestSharedBitmapManager()); 2177 new TestSharedBitmapManager());
2183 scoped_ptr<LayerTreeHost> host = 2178 scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded(
2184 LayerTreeHost::CreateSingleThreaded(&client, 2179 &client, &client, shared_bitmap_manager.get(), NULL, nullptr, settings,
2185 &client, 2180 base::MessageLoopProxy::current(), nullptr);
2186 shared_bitmap_manager.get(),
2187 NULL,
2188 settings,
2189 base::MessageLoopProxy::current(),
2190 nullptr);
2191 client.SetLayerTreeHost(host.get()); 2181 client.SetLayerTreeHost(host.get());
2192 host->Composite(base::TimeTicks::Now()); 2182 host->Composite(base::TimeTicks::Now());
2193 2183
2194 EXPECT_EQ(4u, host->settings().max_partial_texture_updates); 2184 EXPECT_EQ(4u, host->settings().max_partial_texture_updates);
2195 } 2185 }
2196 2186
2197 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) { 2187 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) {
2198 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D); 2188 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D);
2199 2189
2200 LayerTreeSettings settings; 2190 LayerTreeSettings settings;
2201 settings.max_partial_texture_updates = 4; 2191 settings.max_partial_texture_updates = 4;
2202 settings.single_thread_proxy_scheduler = false; 2192 settings.single_thread_proxy_scheduler = false;
2203 settings.impl_side_painting = false; 2193 settings.impl_side_painting = false;
2204 2194
2205 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 2195 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
2206 new TestSharedBitmapManager()); 2196 new TestSharedBitmapManager());
2207 scoped_ptr<LayerTreeHost> host = 2197 scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded(
2208 LayerTreeHost::CreateSingleThreaded(&client, 2198 &client, &client, shared_bitmap_manager.get(), NULL, nullptr, settings,
2209 &client, 2199 base::MessageLoopProxy::current(), nullptr);
2210 shared_bitmap_manager.get(),
2211 NULL,
2212 settings,
2213 base::MessageLoopProxy::current(),
2214 nullptr);
2215 client.SetLayerTreeHost(host.get()); 2200 client.SetLayerTreeHost(host.get());
2216 host->Composite(base::TimeTicks::Now()); 2201 host->Composite(base::TimeTicks::Now());
2217 2202
2218 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); 2203 EXPECT_EQ(0u, host->MaxPartialTextureUpdates());
2219 } 2204 }
2220 2205
2221 TEST(LayerTreeHostTest, 2206 TEST(LayerTreeHostTest,
2222 PartialUpdatesWithDelegatingRendererAndSoftwareContent) { 2207 PartialUpdatesWithDelegatingRendererAndSoftwareContent) {
2223 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE); 2208 FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE);
2224 2209
2225 LayerTreeSettings settings; 2210 LayerTreeSettings settings;
2226 settings.max_partial_texture_updates = 4; 2211 settings.max_partial_texture_updates = 4;
2227 settings.single_thread_proxy_scheduler = false; 2212 settings.single_thread_proxy_scheduler = false;
2228 settings.impl_side_painting = false; 2213 settings.impl_side_painting = false;
2229 2214
2230 scoped_ptr<SharedBitmapManager> shared_bitmap_manager( 2215 scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
2231 new TestSharedBitmapManager()); 2216 new TestSharedBitmapManager());
2232 scoped_ptr<LayerTreeHost> host = 2217 scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded(
2233 LayerTreeHost::CreateSingleThreaded(&client, 2218 &client, &client, shared_bitmap_manager.get(), NULL, nullptr, settings,
2234 &client, 2219 base::MessageLoopProxy::current(), nullptr);
2235 shared_bitmap_manager.get(),
2236 NULL,
2237 settings,
2238 base::MessageLoopProxy::current(),
2239 nullptr);
2240 client.SetLayerTreeHost(host.get()); 2220 client.SetLayerTreeHost(host.get());
2241 host->Composite(base::TimeTicks::Now()); 2221 host->Composite(base::TimeTicks::Now());
2242 2222
2243 EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); 2223 EXPECT_EQ(0u, host->MaxPartialTextureUpdates());
2244 } 2224 }
2245 2225
2246 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere. 2226 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere.
2247 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted 2227 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted
2248 : public LayerTreeHostTest { 2228 : public LayerTreeHostTest {
2249 public: 2229 public:
(...skipping 4192 matching lines...) Expand 10 before | Expand all | Expand 10 after
6442 6422
6443 void AfterTest() override {} 6423 void AfterTest() override {}
6444 6424
6445 private: 6425 private:
6446 scoped_refptr<Layer> child_; 6426 scoped_refptr<Layer> child_;
6447 }; 6427 };
6448 6428
6449 SINGLE_AND_MULTI_THREAD_TEST_F(LayerPreserveRenderSurfaceFromOutputRequests); 6429 SINGLE_AND_MULTI_THREAD_TEST_F(LayerPreserveRenderSurfaceFromOutputRequests);
6450 6430
6451 } // namespace cc 6431 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698