| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/output/gl_renderer.h" | 5 #include "cc/output/gl_renderer.h" |
| 6 | 6 |
| 7 #include "cc/output/compositor_frame_metadata.h" | 7 #include "cc/output/compositor_frame_metadata.h" |
| 8 #include "cc/resources/prioritized_resource_manager.h" | 8 #include "cc/resources/prioritized_resource_manager.h" |
| 9 #include "cc/resources/resource_provider.h" | 9 #include "cc/resources/resource_provider.h" |
| 10 #include "cc/test/fake_impl_proxy.h" | 10 #include "cc/test/fake_impl_proxy.h" |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 output_surface_(FakeOutputSurface::Create3d( | 239 output_surface_(FakeOutputSurface::Create3d( |
| 240 scoped_ptr<WebKit::WebGraphicsContext3D>( | 240 scoped_ptr<WebKit::WebGraphicsContext3D>( |
| 241 new FrameCountingMemoryAllocationSettingContext()))), | 241 new FrameCountingMemoryAllocationSettingContext()))), |
| 242 resource_provider_(ResourceProvider::Create(output_surface_.get(), 0)), | 242 resource_provider_(ResourceProvider::Create(output_surface_.get(), 0)), |
| 243 renderer_(&mock_client_, | 243 renderer_(&mock_client_, |
| 244 output_surface_.get(), | 244 output_surface_.get(), |
| 245 resource_provider_.get()) {} | 245 resource_provider_.get()) {} |
| 246 | 246 |
| 247 virtual void SetUp() { renderer_.Initialize(); } | 247 virtual void SetUp() { renderer_.Initialize(); } |
| 248 | 248 |
| 249 void SwapBuffers() { renderer_.SwapBuffers(); } | 249 void SwapBuffers() { renderer_.SwapBuffers(LatencyInfo()); } |
| 250 | 250 |
| 251 FrameCountingMemoryAllocationSettingContext* Context() { | 251 FrameCountingMemoryAllocationSettingContext* Context() { |
| 252 return static_cast<FrameCountingMemoryAllocationSettingContext*>( | 252 return static_cast<FrameCountingMemoryAllocationSettingContext*>( |
| 253 output_surface_->context3d()); | 253 output_surface_->context3d()); |
| 254 } | 254 } |
| 255 | 255 |
| 256 WebGraphicsMemoryAllocation suggest_have_backbuffer_yes_; | 256 WebGraphicsMemoryAllocation suggest_have_backbuffer_yes_; |
| 257 WebGraphicsMemoryAllocation suggest_have_backbuffer_no_; | 257 WebGraphicsMemoryAllocation suggest_have_backbuffer_no_; |
| 258 | 258 |
| 259 scoped_ptr<OutputSurface> output_surface_; | 259 scoped_ptr<OutputSurface> output_surface_; |
| (...skipping 1053 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1313 }; | 1313 }; |
| 1314 | 1314 |
| 1315 class MockOutputSurfaceTest : public testing::Test, public FakeRendererClient { | 1315 class MockOutputSurfaceTest : public testing::Test, public FakeRendererClient { |
| 1316 protected: | 1316 protected: |
| 1317 MockOutputSurfaceTest() | 1317 MockOutputSurfaceTest() |
| 1318 : resource_provider_(ResourceProvider::Create(&output_surface_, 0)), | 1318 : resource_provider_(ResourceProvider::Create(&output_surface_, 0)), |
| 1319 renderer_(this, &output_surface_, resource_provider_.get()) {} | 1319 renderer_(this, &output_surface_, resource_provider_.get()) {} |
| 1320 | 1320 |
| 1321 virtual void SetUp() { EXPECT_TRUE(renderer_.Initialize()); } | 1321 virtual void SetUp() { EXPECT_TRUE(renderer_.Initialize()); } |
| 1322 | 1322 |
| 1323 void SwapBuffers() { renderer_.SwapBuffers(); } | 1323 void SwapBuffers() { renderer_.SwapBuffers(LatencyInfo()); } |
| 1324 | 1324 |
| 1325 void DrawFrame() { | 1325 void DrawFrame() { |
| 1326 gfx::Rect viewport_rect(DeviceViewportSize()); | 1326 gfx::Rect viewport_rect(DeviceViewportSize()); |
| 1327 ScopedPtrVector<RenderPass>* render_passes = render_passes_in_draw_order(); | 1327 ScopedPtrVector<RenderPass>* render_passes = render_passes_in_draw_order(); |
| 1328 render_passes->clear(); | 1328 render_passes->clear(); |
| 1329 | 1329 |
| 1330 RenderPass::Id render_pass_id(1, 0); | 1330 RenderPass::Id render_pass_id(1, 0); |
| 1331 TestRenderPass* render_pass = AddRenderPass( | 1331 TestRenderPass* render_pass = AddRenderPass( |
| 1332 render_passes, render_pass_id, viewport_rect, gfx::Transform()); | 1332 render_passes, render_pass_id, viewport_rect, gfx::Transform()); |
| 1333 AddQuad(render_pass, viewport_rect, SK_ColorGREEN); | 1333 AddQuad(render_pass, viewport_rect, SK_ColorGREEN); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1351 | 1351 |
| 1352 StrictMock<MockOutputSurface> output_surface_; | 1352 StrictMock<MockOutputSurface> output_surface_; |
| 1353 scoped_ptr<ResourceProvider> resource_provider_; | 1353 scoped_ptr<ResourceProvider> resource_provider_; |
| 1354 FakeRendererGL renderer_; | 1354 FakeRendererGL renderer_; |
| 1355 }; | 1355 }; |
| 1356 | 1356 |
| 1357 TEST_F(MockOutputSurfaceTest, DrawFrameAndSwap) { | 1357 TEST_F(MockOutputSurfaceTest, DrawFrameAndSwap) { |
| 1358 DrawFrame(); | 1358 DrawFrame(); |
| 1359 | 1359 |
| 1360 EXPECT_CALL(output_surface_, SwapBuffers(_)).Times(1); | 1360 EXPECT_CALL(output_surface_, SwapBuffers(_)).Times(1); |
| 1361 renderer_.SwapBuffers(); | 1361 renderer_.SwapBuffers(LatencyInfo()); |
| 1362 } | 1362 } |
| 1363 | 1363 |
| 1364 class MockOutputSurfaceTestWithPartialSwap : public MockOutputSurfaceTest { | 1364 class MockOutputSurfaceTestWithPartialSwap : public MockOutputSurfaceTest { |
| 1365 public: | 1365 public: |
| 1366 virtual const LayerTreeSettings& Settings() const OVERRIDE { | 1366 virtual const LayerTreeSettings& Settings() const OVERRIDE { |
| 1367 static LayerTreeSettings fake_settings; | 1367 static LayerTreeSettings fake_settings; |
| 1368 fake_settings.partial_swap_enabled = true; | 1368 fake_settings.partial_swap_enabled = true; |
| 1369 return fake_settings; | 1369 return fake_settings; |
| 1370 } | 1370 } |
| 1371 }; | 1371 }; |
| 1372 | 1372 |
| 1373 TEST_F(MockOutputSurfaceTestWithPartialSwap, DrawFrameAndSwap) { | 1373 TEST_F(MockOutputSurfaceTestWithPartialSwap, DrawFrameAndSwap) { |
| 1374 DrawFrame(); | 1374 DrawFrame(); |
| 1375 | 1375 |
| 1376 EXPECT_CALL(output_surface_, PostSubBuffer(_, _)).Times(1); | 1376 EXPECT_CALL(output_surface_, PostSubBuffer(_, _)).Times(1); |
| 1377 renderer_.SwapBuffers(); | 1377 renderer_.SwapBuffers(LatencyInfo()); |
| 1378 } | 1378 } |
| 1379 | 1379 |
| 1380 class MockOutputSurfaceTestWithSendCompositorFrame | 1380 class MockOutputSurfaceTestWithSendCompositorFrame |
| 1381 : public MockOutputSurfaceTest { | 1381 : public MockOutputSurfaceTest { |
| 1382 public: | 1382 public: |
| 1383 virtual const LayerTreeSettings& Settings() const OVERRIDE { | 1383 virtual const LayerTreeSettings& Settings() const OVERRIDE { |
| 1384 static LayerTreeSettings fake_settings; | 1384 static LayerTreeSettings fake_settings; |
| 1385 fake_settings.compositor_frame_message = true; | 1385 fake_settings.compositor_frame_message = true; |
| 1386 return fake_settings; | 1386 return fake_settings; |
| 1387 } | 1387 } |
| 1388 }; | 1388 }; |
| 1389 | 1389 |
| 1390 TEST_F(MockOutputSurfaceTestWithSendCompositorFrame, DrawFrame) { | 1390 TEST_F(MockOutputSurfaceTestWithSendCompositorFrame, DrawFrame) { |
| 1391 EXPECT_CALL(output_surface_, SendFrameToParentCompositor(_)).Times(1); | 1391 EXPECT_CALL(output_surface_, SendFrameToParentCompositor(_)).Times(1); |
| 1392 DrawFrame(); | 1392 DrawFrame(); |
| 1393 } | 1393 } |
| 1394 | 1394 |
| 1395 } // namespace | 1395 } // namespace |
| 1396 } // namespace cc | 1396 } // namespace cc |
| OLD | NEW |