OLD | NEW |
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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "CCLayerTreeHostImpl.h" | 7 #include "CCLayerTreeHostImpl.h" |
8 | 8 |
9 #include "CCDelegatedRendererLayerImpl.h" | 9 #include "CCDelegatedRendererLayerImpl.h" |
10 #include "CCHeadsUpDisplayLayerImpl.h" | 10 #include "CCHeadsUpDisplayLayerImpl.h" |
(...skipping 4002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4013 EXPECT_TRUE(m_didRequestCommit); | 4013 EXPECT_TRUE(m_didRequestCommit); |
4014 } | 4014 } |
4015 | 4015 |
4016 struct RenderPassRemovalTestData : public CCLayerTreeHostImpl::FrameData { | 4016 struct RenderPassRemovalTestData : public CCLayerTreeHostImpl::FrameData { |
4017 ScopedPtrHashMap<CCRenderPass::Id, CCRenderPass> renderPassCache; | 4017 ScopedPtrHashMap<CCRenderPass::Id, CCRenderPass> renderPassCache; |
4018 scoped_ptr<CCSharedQuadState> sharedQuadState; | 4018 scoped_ptr<CCSharedQuadState> sharedQuadState; |
4019 }; | 4019 }; |
4020 | 4020 |
4021 class CCTestRenderer : public CCRendererGL, public CCRendererClient { | 4021 class CCTestRenderer : public CCRendererGL, public CCRendererClient { |
4022 public: | 4022 public: |
4023 static PassOwnPtr<CCTestRenderer> create(CCResourceProvider* resourceProvide
r) | 4023 static scoped_ptr<CCTestRenderer> create(CCResourceProvider* resourceProvide
r) |
4024 { | 4024 { |
4025 OwnPtr<CCTestRenderer> renderer(adoptPtr(new CCTestRenderer(resourceProv
ider))); | 4025 scoped_ptr<CCTestRenderer> renderer(new CCTestRenderer(resourceProvider)
); |
4026 if (!renderer->initialize()) | 4026 if (!renderer->initialize()) |
4027 return nullptr; | 4027 return scoped_ptr<CCTestRenderer>(); |
4028 | 4028 |
4029 return renderer.release(); | 4029 return renderer.Pass(); |
4030 } | 4030 } |
4031 | 4031 |
4032 void clearCachedTextures() { m_textures.clear(); } | 4032 void clearCachedTextures() { m_textures.clear(); } |
4033 void setHaveCachedResourcesForRenderPassId(CCRenderPass::Id id) { m_textures
.insert(id); } | 4033 void setHaveCachedResourcesForRenderPassId(CCRenderPass::Id id) { m_textures
.insert(id); } |
4034 | 4034 |
4035 virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id id) const O
VERRIDE { return m_textures.count(id); } | 4035 virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id id) const O
VERRIDE { return m_textures.count(id); } |
4036 | 4036 |
4037 // CCRendererClient implementation. | 4037 // CCRendererClient implementation. |
4038 virtual const IntSize& deviceViewportSize() const OVERRIDE { return m_viewpo
rtSize; } | 4038 virtual const IntSize& deviceViewportSize() const OVERRIDE { return m_viewpo
rtSize; } |
4039 virtual const CCLayerTreeSettings& settings() const OVERRIDE { return m_sett
ings; } | 4039 virtual const CCLayerTreeSettings& settings() const OVERRIDE { return m_sett
ings; } |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4319 { | 4319 { |
4320 char actualResult[1024]; | 4320 char actualResult[1024]; |
4321 dumpRenderPassTestData(testData, actualResult); | 4321 dumpRenderPassTestData(testData, actualResult); |
4322 EXPECT_STREQ(testCase.expectedResult, actualResult) << "In test case: " << t
estCase.name; | 4322 EXPECT_STREQ(testCase.expectedResult, actualResult) << "In test case: " << t
estCase.name; |
4323 } | 4323 } |
4324 | 4324 |
4325 TEST_P(CCLayerTreeHostImplTest, testRemoveRenderPasses) | 4325 TEST_P(CCLayerTreeHostImplTest, testRemoveRenderPasses) |
4326 { | 4326 { |
4327 scoped_ptr<CCGraphicsContext> context(createContext()); | 4327 scoped_ptr<CCGraphicsContext> context(createContext()); |
4328 ASSERT_TRUE(context->context3D()); | 4328 ASSERT_TRUE(context->context3D()); |
4329 OwnPtr<CCResourceProvider> resourceProvider(CCResourceProvider::create(conte
xt.get())); | 4329 scoped_ptr<CCResourceProvider> resourceProvider(CCResourceProvider::create(c
ontext.get())); |
4330 | 4330 |
4331 OwnPtr<CCTestRenderer> renderer(CCTestRenderer::create(resourceProvider.get(
))); | 4331 scoped_ptr<CCTestRenderer> renderer(CCTestRenderer::create(resourceProvider.
get())); |
4332 | 4332 |
4333 int testCaseIndex = 0; | 4333 int testCaseIndex = 0; |
4334 while (removeRenderPassesCases[testCaseIndex].name) { | 4334 while (removeRenderPassesCases[testCaseIndex].name) { |
4335 RenderPassRemovalTestData testData; | 4335 RenderPassRemovalTestData testData; |
4336 configureRenderPassTestData(removeRenderPassesCases[testCaseIndex].initS
cript, testData, renderer.get()); | 4336 configureRenderPassTestData(removeRenderPassesCases[testCaseIndex].initS
cript, testData, renderer.get()); |
4337 CCLayerTreeHostImpl::removeRenderPasses(CCLayerTreeHostImpl::CullRenderP
assesWithCachedTextures(*renderer), testData); | 4337 CCLayerTreeHostImpl::removeRenderPasses(CCLayerTreeHostImpl::CullRenderP
assesWithCachedTextures(*renderer), testData); |
4338 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat
a); | 4338 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat
a); |
4339 testCaseIndex++; | 4339 testCaseIndex++; |
4340 } | 4340 } |
4341 } | 4341 } |
4342 | 4342 |
4343 INSTANTIATE_TEST_CASE_P(CCLayerTreeHostImplTests, | 4343 INSTANTIATE_TEST_CASE_P(CCLayerTreeHostImplTests, |
4344 CCLayerTreeHostImplTest, | 4344 CCLayerTreeHostImplTest, |
4345 ::testing::Values(false, true)); | 4345 ::testing::Values(false, true)); |
4346 | 4346 |
4347 } // namespace | 4347 } // namespace |
OLD | NEW |