| 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/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" |
| (...skipping 1830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1841 child->setContentBounds(layerRect.size()); | 1841 child->setContentBounds(layerRect.size()); |
| 1842 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1842 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1843 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1843 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1844 | 1844 |
| 1845 LayerTreeHostImpl::FrameData frame; | 1845 LayerTreeHostImpl::FrameData frame; |
| 1846 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 1846 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
| 1847 ASSERT_EQ(1u, frame.renderPasses.size()); | 1847 ASSERT_EQ(1u, frame.renderPasses.size()); |
| 1848 | 1848 |
| 1849 size_t numGutterQuads = 0; | 1849 size_t numGutterQuads = 0; |
| 1850 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) | 1850 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) |
| 1851 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; | 1851 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SOLID_COLOR) ? 1 : 0; |
| 1852 EXPECT_EQ(0u, numGutterQuads); | 1852 EXPECT_EQ(0u, numGutterQuads); |
| 1853 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); | 1853 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); |
| 1854 | 1854 |
| 1855 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), gfx::Rect
(gfx::Point(), viewportSize)); | 1855 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), gfx::Rect
(gfx::Point(), viewportSize)); |
| 1856 m_hostImpl->didDrawAllLayers(frame); | 1856 m_hostImpl->didDrawAllLayers(frame); |
| 1857 } | 1857 } |
| 1858 | 1858 |
| 1859 // Empty visible content area (fullscreen gutter rect) | 1859 // Empty visible content area (fullscreen gutter rect) |
| 1860 { | 1860 { |
| 1861 gfx::Rect layerRect(0, 0, 0, 0); | 1861 gfx::Rect layerRect(0, 0, 0, 0); |
| 1862 child->setPosition(layerRect.origin()); | 1862 child->setPosition(layerRect.origin()); |
| 1863 child->setBounds(layerRect.size()); | 1863 child->setBounds(layerRect.size()); |
| 1864 child->setContentBounds(layerRect.size()); | 1864 child->setContentBounds(layerRect.size()); |
| 1865 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1865 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1866 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1866 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1867 | 1867 |
| 1868 LayerTreeHostImpl::FrameData frame; | 1868 LayerTreeHostImpl::FrameData frame; |
| 1869 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 1869 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
| 1870 ASSERT_EQ(1u, frame.renderPasses.size()); | 1870 ASSERT_EQ(1u, frame.renderPasses.size()); |
| 1871 m_hostImpl->didDrawAllLayers(frame); | 1871 m_hostImpl->didDrawAllLayers(frame); |
| 1872 | 1872 |
| 1873 size_t numGutterQuads = 0; | 1873 size_t numGutterQuads = 0; |
| 1874 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) | 1874 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) |
| 1875 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; | 1875 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SOLID_COLOR) ? 1 : 0; |
| 1876 EXPECT_EQ(1u, numGutterQuads); | 1876 EXPECT_EQ(1u, numGutterQuads); |
| 1877 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); | 1877 EXPECT_EQ(1u, frame.renderPasses[0]->quadList().size()); |
| 1878 | 1878 |
| 1879 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), gfx::Rect
(gfx::Point(), viewportSize)); | 1879 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), gfx::Rect
(gfx::Point(), viewportSize)); |
| 1880 m_hostImpl->didDrawAllLayers(frame); | 1880 m_hostImpl->didDrawAllLayers(frame); |
| 1881 } | 1881 } |
| 1882 | 1882 |
| 1883 // Content area in middle of clip rect (four surrounding gutter rects) | 1883 // Content area in middle of clip rect (four surrounding gutter rects) |
| 1884 { | 1884 { |
| 1885 gfx::Rect layerRect(500, 500, 200, 200); | 1885 gfx::Rect layerRect(500, 500, 200, 200); |
| 1886 child->setPosition(layerRect.origin()); | 1886 child->setPosition(layerRect.origin()); |
| 1887 child->setBounds(layerRect.size()); | 1887 child->setBounds(layerRect.size()); |
| 1888 child->setContentBounds(layerRect.size()); | 1888 child->setContentBounds(layerRect.size()); |
| 1889 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1889 child->setQuadRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1890 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); | 1890 child->setQuadVisibleRect(gfx::Rect(gfx::Point(), layerRect.size())); |
| 1891 | 1891 |
| 1892 LayerTreeHostImpl::FrameData frame; | 1892 LayerTreeHostImpl::FrameData frame; |
| 1893 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 1893 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
| 1894 ASSERT_EQ(1u, frame.renderPasses.size()); | 1894 ASSERT_EQ(1u, frame.renderPasses.size()); |
| 1895 | 1895 |
| 1896 size_t numGutterQuads = 0; | 1896 size_t numGutterQuads = 0; |
| 1897 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) | 1897 for (size_t i = 0; i < frame.renderPasses[0]->quadList().size(); ++i) |
| 1898 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SolidColor) ? 1 : 0; | 1898 numGutterQuads += (frame.renderPasses[0]->quadList()[i]->material()
== DrawQuad::SOLID_COLOR) ? 1 : 0; |
| 1899 EXPECT_EQ(4u, numGutterQuads); | 1899 EXPECT_EQ(4u, numGutterQuads); |
| 1900 EXPECT_EQ(5u, frame.renderPasses[0]->quadList().size()); | 1900 EXPECT_EQ(5u, frame.renderPasses[0]->quadList().size()); |
| 1901 | 1901 |
| 1902 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), gfx::Rect
(gfx::Point(), viewportSize)); | 1902 verifyQuadsExactlyCoverRect(frame.renderPasses[0]->quadList(), gfx::Rect
(gfx::Point(), viewportSize)); |
| 1903 m_hostImpl->didDrawAllLayers(frame); | 1903 m_hostImpl->didDrawAllLayers(frame); |
| 1904 } | 1904 } |
| 1905 | 1905 |
| 1906 } | 1906 } |
| 1907 | 1907 |
| 1908 | 1908 |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2339 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 2339 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 2340 | 2340 |
| 2341 // Just for consistency, the most interesting stuff already happened | 2341 // Just for consistency, the most interesting stuff already happened |
| 2342 myHostImpl->drawLayers(frame); | 2342 myHostImpl->drawLayers(frame); |
| 2343 myHostImpl->didDrawAllLayers(frame); | 2343 myHostImpl->didDrawAllLayers(frame); |
| 2344 | 2344 |
| 2345 // Verify all quads have been computed | 2345 // Verify all quads have been computed |
| 2346 ASSERT_EQ(2U, frame.renderPasses.size()); | 2346 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 2347 ASSERT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 2347 ASSERT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 2348 ASSERT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 2348 ASSERT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
| 2349 EXPECT_EQ(DrawQuad::SolidColor, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 2349 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 2350 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 2350 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 2351 } | 2351 } |
| 2352 } | 2352 } |
| 2353 | 2353 |
| 2354 TEST_P(LayerTreeHostImplTest, contributingLayerEmptyScissorNoPartialSwap) | 2354 TEST_P(LayerTreeHostImplTest, contributingLayerEmptyScissorNoPartialSwap) |
| 2355 { | 2355 { |
| 2356 scoped_ptr<LayerTreeHostImpl> myHostImpl = setupLayersForOpacity(false, this
, &m_proxy); | 2356 scoped_ptr<LayerTreeHostImpl> myHostImpl = setupLayersForOpacity(false, this
, &m_proxy); |
| 2357 | 2357 |
| 2358 { | 2358 { |
| 2359 LayerTreeHostImpl::FrameData frame; | 2359 LayerTreeHostImpl::FrameData frame; |
| 2360 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 2360 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 2361 | 2361 |
| 2362 // Just for consistency, the most interesting stuff already happened | 2362 // Just for consistency, the most interesting stuff already happened |
| 2363 myHostImpl->drawLayers(frame); | 2363 myHostImpl->drawLayers(frame); |
| 2364 myHostImpl->didDrawAllLayers(frame); | 2364 myHostImpl->didDrawAllLayers(frame); |
| 2365 | 2365 |
| 2366 // Verify all quads have been computed | 2366 // Verify all quads have been computed |
| 2367 ASSERT_EQ(2U, frame.renderPasses.size()); | 2367 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 2368 ASSERT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 2368 ASSERT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 2369 ASSERT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 2369 ASSERT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
| 2370 EXPECT_EQ(DrawQuad::SolidColor, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 2370 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 2371 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 2371 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 2372 } | 2372 } |
| 2373 } | 2373 } |
| 2374 | 2374 |
| 2375 // Make sure that context lost notifications are propagated through the tree. | 2375 // Make sure that context lost notifications are propagated through the tree. |
| 2376 class ContextLostNotificationCheckLayer : public LayerImpl { | 2376 class ContextLostNotificationCheckLayer : public LayerImpl { |
| 2377 public: | 2377 public: |
| 2378 static scoped_ptr<LayerImpl> create(int id) { return scoped_ptr<LayerImpl>(n
ew ContextLostNotificationCheckLayer(id)); } | 2378 static scoped_ptr<LayerImpl> create(int id) { return scoped_ptr<LayerImpl>(n
ew ContextLostNotificationCheckLayer(id)); } |
| 2379 | 2379 |
| 2380 virtual void didLoseContext() OVERRIDE | 2380 virtual void didLoseContext() OVERRIDE |
| 2381 { | 2381 { |
| (...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3130 // Verify that the child layers are being clipped. | 3130 // Verify that the child layers are being clipped. |
| 3131 gfx::Rect quadVisibleRect = frame.renderPasses[0]->quadList()[0]->quadVi
sibleRect(); | 3131 gfx::Rect quadVisibleRect = frame.renderPasses[0]->quadList()[0]->quadVi
sibleRect(); |
| 3132 EXPECT_LT(quadVisibleRect.width(), 100); | 3132 EXPECT_LT(quadVisibleRect.width(), 100); |
| 3133 | 3133 |
| 3134 quadVisibleRect = frame.renderPasses[0]->quadList()[1]->quadVisibleRect(
); | 3134 quadVisibleRect = frame.renderPasses[0]->quadList()[1]->quadVisibleRect(
); |
| 3135 EXPECT_LT(quadVisibleRect.width(), 100); | 3135 EXPECT_LT(quadVisibleRect.width(), 100); |
| 3136 | 3136 |
| 3137 // Verify that the render surface texture is *not* clipped. | 3137 // Verify that the render surface texture is *not* clipped. |
| 3138 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), frame.renderPasses[0]->outputR
ect()); | 3138 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), frame.renderPasses[0]->outputR
ect()); |
| 3139 | 3139 |
| 3140 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 3140 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 3141 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); | 3141 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); |
| 3142 EXPECT_FALSE(quad->contentsChangedSinceLastFrame().IsEmpty()); | 3142 EXPECT_FALSE(quad->contentsChangedSinceLastFrame().IsEmpty()); |
| 3143 | 3143 |
| 3144 myHostImpl->drawLayers(frame); | 3144 myHostImpl->drawLayers(frame); |
| 3145 myHostImpl->didDrawAllLayers(frame); | 3145 myHostImpl->didDrawAllLayers(frame); |
| 3146 } | 3146 } |
| 3147 | 3147 |
| 3148 transform = surfaceLayerPtr->transform(); | 3148 transform = surfaceLayerPtr->transform(); |
| 3149 transform.translate(50, 50); | 3149 transform.translate(50, 50); |
| 3150 transform.rotate(-35); | 3150 transform.rotate(-35); |
| (...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3788 | 3788 |
| 3789 { | 3789 { |
| 3790 LayerTreeHostImpl::FrameData frame; | 3790 LayerTreeHostImpl::FrameData frame; |
| 3791 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3791 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3792 | 3792 |
| 3793 // Must receive two render passes, each with one quad | 3793 // Must receive two render passes, each with one quad |
| 3794 ASSERT_EQ(2U, frame.renderPasses.size()); | 3794 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 3795 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3795 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3796 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 3796 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
| 3797 | 3797 |
| 3798 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 3798 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 3799 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); | 3799 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); |
| 3800 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3800 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3801 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 3801 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
| 3802 | 3802 |
| 3803 myHostImpl->drawLayers(frame); | 3803 myHostImpl->drawLayers(frame); |
| 3804 myHostImpl->didDrawAllLayers(frame); | 3804 myHostImpl->didDrawAllLayers(frame); |
| 3805 } | 3805 } |
| 3806 | 3806 |
| 3807 // Draw without any change | 3807 // Draw without any change |
| 3808 { | 3808 { |
| 3809 LayerTreeHostImpl::FrameData frame; | 3809 LayerTreeHostImpl::FrameData frame; |
| 3810 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3810 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3811 | 3811 |
| 3812 // Must receive one render pass, as the other one should be culled | 3812 // Must receive one render pass, as the other one should be culled |
| 3813 ASSERT_EQ(1U, frame.renderPasses.size()); | 3813 ASSERT_EQ(1U, frame.renderPasses.size()); |
| 3814 | 3814 |
| 3815 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3815 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3816 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 3816 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 3817 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); | 3817 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); |
| 3818 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3818 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3819 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3819 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 3820 | 3820 |
| 3821 myHostImpl->drawLayers(frame); | 3821 myHostImpl->drawLayers(frame); |
| 3822 myHostImpl->didDrawAllLayers(frame); | 3822 myHostImpl->didDrawAllLayers(frame); |
| 3823 } | 3823 } |
| 3824 | 3824 |
| 3825 // Change opacity and draw | 3825 // Change opacity and draw |
| 3826 surfaceLayerPtr->setOpacity(0.6f); | 3826 surfaceLayerPtr->setOpacity(0.6f); |
| 3827 { | 3827 { |
| 3828 LayerTreeHostImpl::FrameData frame; | 3828 LayerTreeHostImpl::FrameData frame; |
| 3829 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3829 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3830 | 3830 |
| 3831 // Must receive one render pass, as the other one should be culled | 3831 // Must receive one render pass, as the other one should be culled |
| 3832 ASSERT_EQ(1U, frame.renderPasses.size()); | 3832 ASSERT_EQ(1U, frame.renderPasses.size()); |
| 3833 | 3833 |
| 3834 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3834 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3835 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 3835 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 3836 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); | 3836 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); |
| 3837 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3837 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3838 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3838 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 3839 | 3839 |
| 3840 myHostImpl->drawLayers(frame); | 3840 myHostImpl->drawLayers(frame); |
| 3841 myHostImpl->didDrawAllLayers(frame); | 3841 myHostImpl->didDrawAllLayers(frame); |
| 3842 } | 3842 } |
| 3843 | 3843 |
| 3844 // Change less benign property and draw - should have contents changed flag | 3844 // Change less benign property and draw - should have contents changed flag |
| 3845 surfaceLayerPtr->setStackingOrderChanged(true); | 3845 surfaceLayerPtr->setStackingOrderChanged(true); |
| 3846 { | 3846 { |
| 3847 LayerTreeHostImpl::FrameData frame; | 3847 LayerTreeHostImpl::FrameData frame; |
| 3848 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3848 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3849 | 3849 |
| 3850 // Must receive two render passes, each with one quad | 3850 // Must receive two render passes, each with one quad |
| 3851 ASSERT_EQ(2U, frame.renderPasses.size()); | 3851 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 3852 | 3852 |
| 3853 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3853 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3854 EXPECT_EQ(DrawQuad::SolidColor, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 3854 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 3855 | 3855 |
| 3856 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 3856 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 3857 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); | 3857 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); |
| 3858 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3858 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3859 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 3859 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
| 3860 | 3860 |
| 3861 myHostImpl->drawLayers(frame); | 3861 myHostImpl->drawLayers(frame); |
| 3862 myHostImpl->didDrawAllLayers(frame); | 3862 myHostImpl->didDrawAllLayers(frame); |
| 3863 } | 3863 } |
| 3864 | 3864 |
| 3865 // Change opacity again, and evict the cached surface texture. | 3865 // Change opacity again, and evict the cached surface texture. |
| 3866 surfaceLayerPtr->setOpacity(0.5f); | 3866 surfaceLayerPtr->setOpacity(0.5f); |
| 3867 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); | 3867 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); |
| 3868 | 3868 |
| 3869 // Change opacity and draw | 3869 // Change opacity and draw |
| 3870 surfaceLayerPtr->setOpacity(0.6f); | 3870 surfaceLayerPtr->setOpacity(0.6f); |
| 3871 { | 3871 { |
| 3872 LayerTreeHostImpl::FrameData frame; | 3872 LayerTreeHostImpl::FrameData frame; |
| 3873 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3873 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3874 | 3874 |
| 3875 // Must receive two render passes | 3875 // Must receive two render passes |
| 3876 ASSERT_EQ(2U, frame.renderPasses.size()); | 3876 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 3877 | 3877 |
| 3878 // Even though not enough properties changed, the entire thing must be | 3878 // Even though not enough properties changed, the entire thing must be |
| 3879 // redrawn as we don't have cached textures | 3879 // redrawn as we don't have cached textures |
| 3880 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3880 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3881 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 3881 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
| 3882 | 3882 |
| 3883 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 3883 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 3884 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); | 3884 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); |
| 3885 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3885 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3886 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3886 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 3887 | 3887 |
| 3888 // Was our surface evicted? | 3888 // Was our surface evicted? |
| 3889 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); | 3889 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); |
| 3890 | 3890 |
| 3891 myHostImpl->drawLayers(frame); | 3891 myHostImpl->drawLayers(frame); |
| 3892 myHostImpl->didDrawAllLayers(frame); | 3892 myHostImpl->didDrawAllLayers(frame); |
| 3893 } | 3893 } |
| 3894 | 3894 |
| 3895 // Draw without any change, to make sure the state is clear | 3895 // Draw without any change, to make sure the state is clear |
| 3896 { | 3896 { |
| 3897 LayerTreeHostImpl::FrameData frame; | 3897 LayerTreeHostImpl::FrameData frame; |
| 3898 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3898 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3899 | 3899 |
| 3900 // Must receive one render pass, as the other one should be culled | 3900 // Must receive one render pass, as the other one should be culled |
| 3901 ASSERT_EQ(1U, frame.renderPasses.size()); | 3901 ASSERT_EQ(1U, frame.renderPasses.size()); |
| 3902 | 3902 |
| 3903 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3903 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3904 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 3904 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 3905 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); | 3905 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); |
| 3906 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3906 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3907 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3907 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 3908 | 3908 |
| 3909 myHostImpl->drawLayers(frame); | 3909 myHostImpl->drawLayers(frame); |
| 3910 myHostImpl->didDrawAllLayers(frame); | 3910 myHostImpl->didDrawAllLayers(frame); |
| 3911 } | 3911 } |
| 3912 | 3912 |
| 3913 // Change location of the intermediate layer | 3913 // Change location of the intermediate layer |
| 3914 WebTransformationMatrix transform = intermediateLayerPtr->transform(); | 3914 WebTransformationMatrix transform = intermediateLayerPtr->transform(); |
| 3915 transform.setM41(1.0001); | 3915 transform.setM41(1.0001); |
| 3916 intermediateLayerPtr->setTransform(transform); | 3916 intermediateLayerPtr->setTransform(transform); |
| 3917 { | 3917 { |
| 3918 LayerTreeHostImpl::FrameData frame; | 3918 LayerTreeHostImpl::FrameData frame; |
| 3919 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3919 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3920 | 3920 |
| 3921 // Must receive one render pass, as the other one should be culled. | 3921 // Must receive one render pass, as the other one should be culled. |
| 3922 ASSERT_EQ(1U, frame.renderPasses.size()); | 3922 ASSERT_EQ(1U, frame.renderPasses.size()); |
| 3923 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3923 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3924 | 3924 |
| 3925 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 3925 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 3926 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); | 3926 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); |
| 3927 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3927 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3928 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3928 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 3929 | 3929 |
| 3930 myHostImpl->drawLayers(frame); | 3930 myHostImpl->drawLayers(frame); |
| 3931 myHostImpl->didDrawAllLayers(frame); | 3931 myHostImpl->didDrawAllLayers(frame); |
| 3932 } | 3932 } |
| 3933 } | 3933 } |
| 3934 | 3934 |
| 3935 TEST_P(LayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap) | 3935 TEST_P(LayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap) |
| (...skipping 11 matching lines...) Expand all Loading... |
| 3947 | 3947 |
| 3948 { | 3948 { |
| 3949 LayerTreeHostImpl::FrameData frame; | 3949 LayerTreeHostImpl::FrameData frame; |
| 3950 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3950 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3951 | 3951 |
| 3952 // Must receive two render passes, each with one quad | 3952 // Must receive two render passes, each with one quad |
| 3953 ASSERT_EQ(2U, frame.renderPasses.size()); | 3953 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 3954 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3954 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3955 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 3955 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
| 3956 | 3956 |
| 3957 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 3957 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 3958 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); | 3958 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); |
| 3959 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3959 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 3960 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 3960 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
| 3961 | 3961 |
| 3962 EXPECT_FALSE(frame.renderPasses[0]->damageRect().IsEmpty()); | 3962 EXPECT_FALSE(frame.renderPasses[0]->damageRect().IsEmpty()); |
| 3963 EXPECT_FALSE(frame.renderPasses[1]->damageRect().IsEmpty()); | 3963 EXPECT_FALSE(frame.renderPasses[1]->damageRect().IsEmpty()); |
| 3964 | 3964 |
| 3965 EXPECT_FALSE(frame.renderPasses[0]->hasOcclusionFromOutsideTargetSurface
()); | 3965 EXPECT_FALSE(frame.renderPasses[0]->hasOcclusionFromOutsideTargetSurface
()); |
| 3966 EXPECT_FALSE(frame.renderPasses[1]->hasOcclusionFromOutsideTargetSurface
()); | 3966 EXPECT_FALSE(frame.renderPasses[1]->hasOcclusionFromOutsideTargetSurface
()); |
| 3967 | 3967 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 3989 // Change opacity and draw | 3989 // Change opacity and draw |
| 3990 surfaceLayerPtr->setOpacity(0.6f); | 3990 surfaceLayerPtr->setOpacity(0.6f); |
| 3991 { | 3991 { |
| 3992 LayerTreeHostImpl::FrameData frame; | 3992 LayerTreeHostImpl::FrameData frame; |
| 3993 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3993 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 3994 | 3994 |
| 3995 // Must receive one render pass, as the other one should be culled | 3995 // Must receive one render pass, as the other one should be culled |
| 3996 ASSERT_EQ(1U, frame.renderPasses.size()); | 3996 ASSERT_EQ(1U, frame.renderPasses.size()); |
| 3997 | 3997 |
| 3998 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3998 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 3999 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 3999 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 4000 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); | 4000 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); |
| 4001 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4001 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 4002 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 4002 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 4003 | 4003 |
| 4004 myHostImpl->drawLayers(frame); | 4004 myHostImpl->drawLayers(frame); |
| 4005 myHostImpl->didDrawAllLayers(frame); | 4005 myHostImpl->didDrawAllLayers(frame); |
| 4006 } | 4006 } |
| 4007 | 4007 |
| 4008 // Change less benign property and draw - should have contents changed flag | 4008 // Change less benign property and draw - should have contents changed flag |
| 4009 surfaceLayerPtr->setStackingOrderChanged(true); | 4009 surfaceLayerPtr->setStackingOrderChanged(true); |
| 4010 { | 4010 { |
| 4011 LayerTreeHostImpl::FrameData frame; | 4011 LayerTreeHostImpl::FrameData frame; |
| 4012 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 4012 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 4013 | 4013 |
| 4014 // Must receive two render passes, each with one quad | 4014 // Must receive two render passes, each with one quad |
| 4015 ASSERT_EQ(2U, frame.renderPasses.size()); | 4015 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 4016 | 4016 |
| 4017 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 4017 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 4018 EXPECT_EQ(DrawQuad::SolidColor, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 4018 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 4019 | 4019 |
| 4020 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 4020 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 4021 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); | 4021 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); |
| 4022 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4022 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 4023 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 4023 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
| 4024 | 4024 |
| 4025 myHostImpl->drawLayers(frame); | 4025 myHostImpl->drawLayers(frame); |
| 4026 myHostImpl->didDrawAllLayers(frame); | 4026 myHostImpl->didDrawAllLayers(frame); |
| 4027 } | 4027 } |
| 4028 | 4028 |
| 4029 // Change opacity again, and evict the cached surface texture. | 4029 // Change opacity again, and evict the cached surface texture. |
| 4030 surfaceLayerPtr->setOpacity(0.5f); | 4030 surfaceLayerPtr->setOpacity(0.5f); |
| 4031 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); | 4031 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); |
| 4032 | 4032 |
| 4033 // Change opacity and draw | 4033 // Change opacity and draw |
| 4034 surfaceLayerPtr->setOpacity(0.6f); | 4034 surfaceLayerPtr->setOpacity(0.6f); |
| 4035 { | 4035 { |
| 4036 LayerTreeHostImpl::FrameData frame; | 4036 LayerTreeHostImpl::FrameData frame; |
| 4037 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 4037 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 4038 | 4038 |
| 4039 // Must receive two render passes | 4039 // Must receive two render passes |
| 4040 ASSERT_EQ(2U, frame.renderPasses.size()); | 4040 ASSERT_EQ(2U, frame.renderPasses.size()); |
| 4041 | 4041 |
| 4042 // Even though not enough properties changed, the entire thing must be | 4042 // Even though not enough properties changed, the entire thing must be |
| 4043 // redrawn as we don't have cached textures | 4043 // redrawn as we don't have cached textures |
| 4044 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 4044 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 4045 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 4045 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
| 4046 | 4046 |
| 4047 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->ma
terial()); | 4047 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial()); |
| 4048 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); | 4048 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[1]->quadList()[0]); |
| 4049 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4049 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 4050 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 4050 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 4051 | 4051 |
| 4052 // Was our surface evicted? | 4052 // Was our surface evicted? |
| 4053 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); | 4053 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); |
| 4054 | 4054 |
| 4055 myHostImpl->drawLayers(frame); | 4055 myHostImpl->drawLayers(frame); |
| 4056 myHostImpl->didDrawAllLayers(frame); | 4056 myHostImpl->didDrawAllLayers(frame); |
| 4057 } | 4057 } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 4076 transform.setM41(1.0001); | 4076 transform.setM41(1.0001); |
| 4077 intermediateLayerPtr->setTransform(transform); | 4077 intermediateLayerPtr->setTransform(transform); |
| 4078 { | 4078 { |
| 4079 LayerTreeHostImpl::FrameData frame; | 4079 LayerTreeHostImpl::FrameData frame; |
| 4080 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 4080 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
| 4081 | 4081 |
| 4082 // Must receive one render pass, as the other one should be culled. | 4082 // Must receive one render pass, as the other one should be culled. |
| 4083 ASSERT_EQ(1U, frame.renderPasses.size()); | 4083 ASSERT_EQ(1U, frame.renderPasses.size()); |
| 4084 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 4084 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
| 4085 | 4085 |
| 4086 EXPECT_EQ(DrawQuad::RenderPass, frame.renderPasses[0]->quadList()[0]->ma
terial()); | 4086 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial()); |
| 4087 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); | 4087 RenderPassDrawQuad* quad = static_cast<RenderPassDrawQuad*>(frame.render
Passes[0]->quadList()[0]); |
| 4088 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4088 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); |
| 4089 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 4089 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
| 4090 | 4090 |
| 4091 myHostImpl->drawLayers(frame); | 4091 myHostImpl->drawLayers(frame); |
| 4092 myHostImpl->didDrawAllLayers(frame); | 4092 myHostImpl->didDrawAllLayers(frame); |
| 4093 } | 4093 } |
| 4094 } | 4094 } |
| 4095 | 4095 |
| 4096 TEST_P(LayerTreeHostImplTest, releaseContentsTextureShouldTriggerCommit) | 4096 TEST_P(LayerTreeHostImplTest, releaseContentsTextureShouldTriggerCommit) |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4252 const RenderPass* currentPass = *it; | 4252 const RenderPass* currentPass = *it; |
| 4253 *pos = currentPass->id().layerId; | 4253 *pos = currentPass->id().layerId; |
| 4254 pos++; | 4254 pos++; |
| 4255 *pos = currentPass->id().index; | 4255 *pos = currentPass->id().index; |
| 4256 pos++; | 4256 pos++; |
| 4257 | 4257 |
| 4258 QuadList::const_iterator quadListIterator = currentPass->quadList().begi
n(); | 4258 QuadList::const_iterator quadListIterator = currentPass->quadList().begi
n(); |
| 4259 while (quadListIterator != currentPass->quadList().end()) { | 4259 while (quadListIterator != currentPass->quadList().end()) { |
| 4260 DrawQuad* currentQuad = *quadListIterator; | 4260 DrawQuad* currentQuad = *quadListIterator; |
| 4261 switch (currentQuad->material()) { | 4261 switch (currentQuad->material()) { |
| 4262 case DrawQuad::SolidColor: | 4262 case DrawQuad::SOLID_COLOR: |
| 4263 *pos = 's'; | 4263 *pos = 's'; |
| 4264 pos++; | 4264 pos++; |
| 4265 break; | 4265 break; |
| 4266 case DrawQuad::RenderPass: | 4266 case DrawQuad::RENDER_PASS: |
| 4267 *pos = RenderPassDrawQuad::materialCast(currentQuad)->renderPass
Id().layerId; | 4267 *pos = RenderPassDrawQuad::materialCast(currentQuad)->renderPass
Id().layerId; |
| 4268 pos++; | 4268 pos++; |
| 4269 *pos = RenderPassDrawQuad::materialCast(currentQuad)->renderPass
Id().index; | 4269 *pos = RenderPassDrawQuad::materialCast(currentQuad)->renderPass
Id().index; |
| 4270 pos++; | 4270 pos++; |
| 4271 break; | 4271 break; |
| 4272 default: | 4272 default: |
| 4273 *pos = 'x'; | 4273 *pos = 'x'; |
| 4274 pos++; | 4274 pos++; |
| 4275 break; | 4275 break; |
| 4276 } | 4276 } |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4448 testCaseIndex++; | 4448 testCaseIndex++; |
| 4449 } | 4449 } |
| 4450 } | 4450 } |
| 4451 | 4451 |
| 4452 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, | 4452 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, |
| 4453 LayerTreeHostImplTest, | 4453 LayerTreeHostImplTest, |
| 4454 ::testing::Values(false, true)); | 4454 ::testing::Values(false, true)); |
| 4455 | 4455 |
| 4456 } // namespace | 4456 } // namespace |
| 4457 } // namespace cc | 4457 } // namespace cc |
| OLD | NEW |