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

Side by Side Diff: cc/layer_tree_host_impl_unittest.cc

Issue 11316128: Send compositor frame IPC with metadata. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix unit tests Created 8 years 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/layer_tree_host_impl.h" 5 #include "cc/layer_tree_host_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/hash_tables.h" 11 #include "base/hash_tables.h"
12 #include "cc/compositor_frame_metadata.h"
12 #include "cc/delegated_renderer_layer_impl.h" 13 #include "cc/delegated_renderer_layer_impl.h"
13 #include "cc/gl_renderer.h" 14 #include "cc/gl_renderer.h"
14 #include "cc/heads_up_display_layer_impl.h" 15 #include "cc/heads_up_display_layer_impl.h"
15 #include "cc/io_surface_layer_impl.h" 16 #include "cc/io_surface_layer_impl.h"
16 #include "cc/layer_impl.h" 17 #include "cc/layer_impl.h"
17 #include "cc/layer_tiling_data.h" 18 #include "cc/layer_tiling_data.h"
18 #include "cc/layer_tree_impl.h" 19 #include "cc/layer_tree_impl.h"
19 #include "cc/math_util.h" 20 #include "cc/math_util.h"
20 #include "cc/quad_sink.h" 21 #include "cc/quad_sink.h"
21 #include "cc/render_pass_draw_quad.h" 22 #include "cc/render_pass_draw_quad.h"
(...skipping 4176 matching lines...) Expand 10 before | Expand all | Expand 10 after
4198 EXPECT_FALSE(m_didRequestCommit); 4199 EXPECT_FALSE(m_didRequestCommit);
4199 } 4200 }
4200 4201
4201 struct RenderPassRemovalTestData : public LayerTreeHostImpl::FrameData { 4202 struct RenderPassRemovalTestData : public LayerTreeHostImpl::FrameData {
4202 ScopedPtrHashMap<RenderPass::Id, TestRenderPass> renderPassCache; 4203 ScopedPtrHashMap<RenderPass::Id, TestRenderPass> renderPassCache;
4203 scoped_ptr<SharedQuadState> sharedQuadState; 4204 scoped_ptr<SharedQuadState> sharedQuadState;
4204 }; 4205 };
4205 4206
4206 class TestRenderer : public GLRenderer, public RendererClient { 4207 class TestRenderer : public GLRenderer, public RendererClient {
4207 public: 4208 public:
4208 static scoped_ptr<TestRenderer> create(ResourceProvider* resourceProvider, P roxy* proxy) 4209 static scoped_ptr<TestRenderer> create(ResourceProvider* resourceProvider, O utputSurface* outputSurface, Proxy* proxy)
4209 { 4210 {
4210 scoped_ptr<TestRenderer> renderer(new TestRenderer(resourceProvider, pro xy)); 4211 scoped_ptr<TestRenderer> renderer(new TestRenderer(resourceProvider, out putSurface, proxy));
4211 if (!renderer->initialize()) 4212 if (!renderer->initialize())
4212 return scoped_ptr<TestRenderer>(); 4213 return scoped_ptr<TestRenderer>();
4213 4214
4214 return renderer.Pass(); 4215 return renderer.Pass();
4215 } 4216 }
4216 4217
4217 void clearCachedTextures() { m_textures.clear(); } 4218 void clearCachedTextures() { m_textures.clear(); }
4218 void setHaveCachedResourcesForRenderPassId(RenderPass::Id id) { m_textures.i nsert(id); } 4219 void setHaveCachedResourcesForRenderPassId(RenderPass::Id id) { m_textures.i nsert(id); }
4219 4220
4220 virtual bool haveCachedResourcesForRenderPassId(RenderPass::Id id) const OVE RRIDE { return m_textures.count(id); } 4221 virtual bool haveCachedResourcesForRenderPassId(RenderPass::Id id) const OVE RRIDE { return m_textures.count(id); }
4221 4222
4222 // RendererClient implementation. 4223 // RendererClient implementation.
4223 virtual const gfx::Size& deviceViewportSize() const OVERRIDE { return m_view portSize; } 4224 virtual const gfx::Size& deviceViewportSize() const OVERRIDE { return m_view portSize; }
4224 virtual const LayerTreeSettings& settings() const OVERRIDE { return m_settin gs; } 4225 virtual const LayerTreeSettings& settings() const OVERRIDE { return m_settin gs; }
4225 virtual void didLoseOutputSurface() OVERRIDE { } 4226 virtual void didLoseOutputSurface() OVERRIDE { }
4226 virtual void onSwapBuffersComplete() OVERRIDE { } 4227 virtual void onSwapBuffersComplete() OVERRIDE { }
4227 virtual void setFullRootLayerDamage() OVERRIDE { } 4228 virtual void setFullRootLayerDamage() OVERRIDE { }
4228 virtual void setManagedMemoryPolicy(const ManagedMemoryPolicy& policy) OVERR IDE { } 4229 virtual void setManagedMemoryPolicy(const ManagedMemoryPolicy& policy) OVERR IDE { }
4229 virtual void enforceManagedMemoryPolicy(const ManagedMemoryPolicy& policy) O VERRIDE { } 4230 virtual void enforceManagedMemoryPolicy(const ManagedMemoryPolicy& policy) O VERRIDE { }
4230 virtual bool hasImplThread() const OVERRIDE { return false; } 4231 virtual bool hasImplThread() const OVERRIDE { return false; }
4232 virtual CompositorFrameMetadata makeCompositorFrameMetadata() const
4233 OVERRIDE { return CompositorFrameMetadata(); }
4231 4234
4232 protected: 4235 protected:
4233 TestRenderer(ResourceProvider* resourceProvider, Proxy* proxy) : GLRenderer( this, resourceProvider) { } 4236 TestRenderer(ResourceProvider* resourceProvider, OutputSurface* outputSurfac e, Proxy* proxy) : GLRenderer(this, outputSurface, resourceProvider) { }
4234 4237
4235 private: 4238 private:
4236 LayerTreeSettings m_settings; 4239 LayerTreeSettings m_settings;
4237 gfx::Size m_viewportSize; 4240 gfx::Size m_viewportSize;
4238 base::hash_set<RenderPass::Id> m_textures; 4241 base::hash_set<RenderPass::Id> m_textures;
4239 }; 4242 };
4240 4243
4241 static void configureRenderPassTestData(const char* testScript, RenderPassRemova lTestData& testData, TestRenderer* renderer) 4244 static void configureRenderPassTestData(const char* testScript, RenderPassRemova lTestData& testData, TestRenderer* renderer)
4242 { 4245 {
4243 renderer->clearCachedTextures(); 4246 renderer->clearCachedTextures();
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
4514 dumpRenderPassTestData(testData, actualResult); 4517 dumpRenderPassTestData(testData, actualResult);
4515 EXPECT_STREQ(testCase.expectedResult, actualResult) << "In test case: " << t estCase.name; 4518 EXPECT_STREQ(testCase.expectedResult, actualResult) << "In test case: " << t estCase.name;
4516 } 4519 }
4517 4520
4518 TEST_P(LayerTreeHostImplTest, testRemoveRenderPasses) 4521 TEST_P(LayerTreeHostImplTest, testRemoveRenderPasses)
4519 { 4522 {
4520 scoped_ptr<OutputSurface> outputSurface(createOutputSurface()); 4523 scoped_ptr<OutputSurface> outputSurface(createOutputSurface());
4521 ASSERT_TRUE(outputSurface->Context3D()); 4524 ASSERT_TRUE(outputSurface->Context3D());
4522 scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outpu tSurface.get())); 4525 scoped_ptr<ResourceProvider> resourceProvider(ResourceProvider::create(outpu tSurface.get()));
4523 4526
4524 scoped_ptr<TestRenderer> renderer(TestRenderer::create(resourceProvider.get( ), &m_proxy)); 4527 scoped_ptr<TestRenderer> renderer(TestRenderer::create(resourceProvider.get( ), outputSurface.get(), &m_proxy));
4525 4528
4526 int testCaseIndex = 0; 4529 int testCaseIndex = 0;
4527 while (removeRenderPassesCases[testCaseIndex].name) { 4530 while (removeRenderPassesCases[testCaseIndex].name) {
4528 RenderPassRemovalTestData testData; 4531 RenderPassRemovalTestData testData;
4529 configureRenderPassTestData(removeRenderPassesCases[testCaseIndex].initS cript, testData, renderer.get()); 4532 configureRenderPassTestData(removeRenderPassesCases[testCaseIndex].initS cript, testData, renderer.get());
4530 LayerTreeHostImpl::removeRenderPasses(LayerTreeHostImpl::CullRenderPasse sWithCachedTextures(*renderer), testData); 4533 LayerTreeHostImpl::removeRenderPasses(LayerTreeHostImpl::CullRenderPasse sWithCachedTextures(*renderer), testData);
4531 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat a); 4534 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat a);
4532 testCaseIndex++; 4535 testCaseIndex++;
4533 } 4536 }
4534 } 4537 }
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
4928 gfx::Rect noDamage = gfx::Rect(m_hostImpl->deviceViewportSize()); 4931 gfx::Rect noDamage = gfx::Rect(m_hostImpl->deviceViewportSize());
4929 drawFrameAndTestDamage(noDamage); 4932 drawFrameAndTestDamage(noDamage);
4930 } 4933 }
4931 4934
4932 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, 4935 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests,
4933 LayerTreeHostImplTest, 4936 LayerTreeHostImplTest,
4934 ::testing::Values(false, true)); 4937 ::testing::Values(false, true));
4935 4938
4936 } // namespace 4939 } // namespace
4937 } // namespace cc 4940 } // namespace cc
OLDNEW
« cc/gl_frame_data.h ('K') | « cc/layer_tree_host_impl.cc ('k') | cc/layer_tree_settings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698