| 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 "cc/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/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" |
| (...skipping 2623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2634 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::Create(m
_hostImpl->active_tree(), 5); | 2634 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::Create(m
_hostImpl->active_tree(), 5); |
| 2635 ioSurfaceLayer->SetBounds(gfx::Size(10, 10)); | 2635 ioSurfaceLayer->SetBounds(gfx::Size(10, 10)); |
| 2636 ioSurfaceLayer->SetAnchorPoint(gfx::PointF(0, 0)); | 2636 ioSurfaceLayer->SetAnchorPoint(gfx::PointF(0, 0)); |
| 2637 ioSurfaceLayer->SetContentBounds(gfx::Size(10, 10)); | 2637 ioSurfaceLayer->SetContentBounds(gfx::Size(10, 10)); |
| 2638 ioSurfaceLayer->SetDrawsContent(true); | 2638 ioSurfaceLayer->SetDrawsContent(true); |
| 2639 ioSurfaceLayer->SetIOSurfaceProperties(1, gfx::Size(10, 10)); | 2639 ioSurfaceLayer->SetIOSurfaceProperties(1, gfx::Size(10, 10)); |
| 2640 rootLayer->AddChild(ioSurfaceLayer.PassAs<LayerImpl>()); | 2640 rootLayer->AddChild(ioSurfaceLayer.PassAs<LayerImpl>()); |
| 2641 | 2641 |
| 2642 m_hostImpl->active_tree()->SetRootLayer(rootLayer.Pass()); | 2642 m_hostImpl->active_tree()->SetRootLayer(rootLayer.Pass()); |
| 2643 | 2643 |
| 2644 EXPECT_EQ(0u, context3d->NumTextures()); | 2644 // An auxiliary texture is created for on-demand rasterization. |
| 2645 EXPECT_EQ(1u, context3d->NumTextures()); |
| 2645 | 2646 |
| 2646 LayerTreeHostImpl::FrameData frame; | 2647 LayerTreeHostImpl::FrameData frame; |
| 2647 EXPECT_TRUE(m_hostImpl->PrepareToDraw(&frame)); | 2648 EXPECT_TRUE(m_hostImpl->PrepareToDraw(&frame)); |
| 2648 m_hostImpl->DrawLayers(&frame, base::TimeTicks::Now()); | 2649 m_hostImpl->DrawLayers(&frame, base::TimeTicks::Now()); |
| 2649 m_hostImpl->DidDrawAllLayers(frame); | 2650 m_hostImpl->DidDrawAllLayers(frame); |
| 2650 m_hostImpl->SwapBuffers(); | 2651 m_hostImpl->SwapBuffers(); |
| 2651 | 2652 |
| 2652 EXPECT_GT(context3d->NumTextures(), 0u); | 2653 EXPECT_GT(context3d->NumTextures(), 1u); |
| 2653 | 2654 |
| 2654 // Kill the layer tree. | 2655 // Kill the layer tree. |
| 2655 m_hostImpl->active_tree()->SetRootLayer(LayerImpl::Create(m_hostImpl->active
_tree(), 100)); | 2656 m_hostImpl->active_tree()->SetRootLayer(LayerImpl::Create(m_hostImpl->active
_tree(), 100)); |
| 2656 // There should be no textures left in use after. | 2657 // There should be no textures left in use after. |
| 2657 EXPECT_EQ(0u, context3d->NumTextures()); | 2658 EXPECT_EQ(1u, context3d->NumTextures()); |
| 2658 } | 2659 } |
| 2659 | 2660 |
| 2660 class MockDrawQuadsToFillScreenContext : public TestWebGraphicsContext3D { | 2661 class MockDrawQuadsToFillScreenContext : public TestWebGraphicsContext3D { |
| 2661 public: | 2662 public: |
| 2662 MOCK_METHOD1(useProgram, void(WebKit::WebGLId program)); | 2663 MOCK_METHOD1(useProgram, void(WebKit::WebGLId program)); |
| 2663 MOCK_METHOD4(drawElements, void(WebKit::WGC3Denum mode, WebKit::WGC3Dsizei c
ount, WebKit::WGC3Denum type, WebKit::WGC3Dintptr offset)); | 2664 MOCK_METHOD4(drawElements, void(WebKit::WGC3Denum mode, WebKit::WGC3Dsizei c
ount, WebKit::WGC3Denum type, WebKit::WGC3Dintptr offset)); |
| 2664 }; | 2665 }; |
| 2665 | 2666 |
| 2666 TEST_F(LayerTreeHostImplTest, hasTransparentBackground) | 2667 TEST_F(LayerTreeHostImplTest, hasTransparentBackground) |
| 2667 { | 2668 { |
| (...skipping 1674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4342 EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(), renderPassQuad->rect.ToS
tring()); | 4343 EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(), renderPassQuad->rect.ToS
tring()); |
| 4343 EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(), renderPassQuad->mas
k_uv_rect.ToString()); | 4344 EXPECT_EQ(gfx::RectF(0.f, 0.f, 1.f, 1.f).ToString(), renderPassQuad->mas
k_uv_rect.ToString()); |
| 4344 | 4345 |
| 4345 m_hostImpl->DrawLayers(&frame, base::TimeTicks::Now()); | 4346 m_hostImpl->DrawLayers(&frame, base::TimeTicks::Now()); |
| 4346 m_hostImpl->DidDrawAllLayers(frame); | 4347 m_hostImpl->DidDrawAllLayers(frame); |
| 4347 } | 4348 } |
| 4348 } | 4349 } |
| 4349 | 4350 |
| 4350 } // namespace | 4351 } // namespace |
| 4351 } // namespace cc | 4352 } // namespace cc |
| OLD | NEW |