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 1584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1595 { | 1595 { |
1596 m_quadsAppended = true; | 1596 m_quadsAppended = true; |
1597 | 1597 |
1598 gfx::Rect opaqueRect; | 1598 gfx::Rect opaqueRect; |
1599 if (contentsOpaque()) | 1599 if (contentsOpaque()) |
1600 opaqueRect = m_quadRect; | 1600 opaqueRect = m_quadRect; |
1601 else | 1601 else |
1602 opaqueRect = m_opaqueContentRect; | 1602 opaqueRect = m_opaqueContentRect; |
1603 | 1603 |
1604 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSha
redQuadState()); | 1604 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSha
redQuadState()); |
1605 scoped_ptr<TileDrawQuad> testBlendingDrawQuad = TileDrawQuad::create(sha
redQuadState, m_quadRect, opaqueRect, m_resourceId, gfx::RectF(0, 0, 1, 1), gfx:
:Size(1, 1), false, false, false, false, false); | 1605 scoped_ptr<TileDrawQuad> testBlendingDrawQuad = TileDrawQuad::Create(); |
| 1606 testBlendingDrawQuad->SetNew(sharedQuadState, m_quadRect, opaqueRect, m_
resourceId, gfx::RectF(0, 0, 1, 1), gfx::Size(1, 1), false, false, false, false,
false); |
1606 testBlendingDrawQuad->visible_rect = m_quadVisibleRect; | 1607 testBlendingDrawQuad->visible_rect = m_quadVisibleRect; |
1607 EXPECT_EQ(m_blend, testBlendingDrawQuad->ShouldDrawWithBlending()); | 1608 EXPECT_EQ(m_blend, testBlendingDrawQuad->ShouldDrawWithBlending()); |
1608 EXPECT_EQ(m_hasRenderSurface, !!renderSurface()); | 1609 EXPECT_EQ(m_hasRenderSurface, !!renderSurface()); |
1609 quadSink.append(testBlendingDrawQuad.PassAs<DrawQuad>(), appendQuadsData
); | 1610 quadSink.append(testBlendingDrawQuad.PassAs<DrawQuad>(), appendQuadsData
); |
1610 } | 1611 } |
1611 | 1612 |
1612 void setExpectation(bool blend, bool hasRenderSurface) | 1613 void setExpectation(bool blend, bool hasRenderSurface) |
1613 { | 1614 { |
1614 m_blend = blend; | 1615 m_blend = blend; |
1615 m_hasRenderSurface = hasRenderSurface; | 1616 m_hasRenderSurface = hasRenderSurface; |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2098 class FakeLayerWithQuads : public LayerImpl { | 2099 class FakeLayerWithQuads : public LayerImpl { |
2099 public: | 2100 public: |
2100 static scoped_ptr<LayerImpl> create(int id) { return scoped_ptr<LayerImpl>(n
ew FakeLayerWithQuads(id)); } | 2101 static scoped_ptr<LayerImpl> create(int id) { return scoped_ptr<LayerImpl>(n
ew FakeLayerWithQuads(id)); } |
2101 | 2102 |
2102 virtual void appendQuads(QuadSink& quadSink, AppendQuadsData& appendQuadsDat
a) OVERRIDE | 2103 virtual void appendQuads(QuadSink& quadSink, AppendQuadsData& appendQuadsDat
a) OVERRIDE |
2103 { | 2104 { |
2104 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSha
redQuadState()); | 2105 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSha
redQuadState()); |
2105 | 2106 |
2106 SkColor gray = SkColorSetRGB(100, 100, 100); | 2107 SkColor gray = SkColorSetRGB(100, 100, 100); |
2107 gfx::Rect quadRect(gfx::Point(0, 0), contentBounds()); | 2108 gfx::Rect quadRect(gfx::Point(0, 0), contentBounds()); |
2108 scoped_ptr<SolidColorDrawQuad> myQuad = SolidColorDrawQuad::create(share
dQuadState, quadRect, gray); | 2109 scoped_ptr<SolidColorDrawQuad> myQuad = SolidColorDrawQuad::Create(); |
| 2110 myQuad->SetNew(sharedQuadState, quadRect, gray); |
2109 quadSink.append(myQuad.PassAs<DrawQuad>(), appendQuadsData); | 2111 quadSink.append(myQuad.PassAs<DrawQuad>(), appendQuadsData); |
2110 } | 2112 } |
2111 | 2113 |
2112 private: | 2114 private: |
2113 FakeLayerWithQuads(int id) | 2115 FakeLayerWithQuads(int id) |
2114 : LayerImpl(id) | 2116 : LayerImpl(id) |
2115 { | 2117 { |
2116 } | 2118 } |
2117 }; | 2119 }; |
2118 | 2120 |
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2707 { | 2709 { |
2708 } | 2710 } |
2709 }; | 2711 }; |
2710 | 2712 |
2711 static inline scoped_ptr<RenderPass> createRenderPassWithResource(ResourceProvid
er* provider) | 2713 static inline scoped_ptr<RenderPass> createRenderPassWithResource(ResourceProvid
er* provider) |
2712 { | 2714 { |
2713 ResourceProvider::ResourceId resourceId = provider->createResource(0, gfx::S
ize(1, 1), GL_RGBA, ResourceProvider::TextureUsageAny); | 2715 ResourceProvider::ResourceId resourceId = provider->createResource(0, gfx::S
ize(1, 1), GL_RGBA, ResourceProvider::TextureUsageAny); |
2714 | 2716 |
2715 scoped_ptr<TestRenderPass> pass = TestRenderPass::create(RenderPass::Id(1, 1
), gfx::Rect(0, 0, 1, 1), WebTransformationMatrix()); | 2717 scoped_ptr<TestRenderPass> pass = TestRenderPass::create(RenderPass::Id(1, 1
), gfx::Rect(0, 0, 1, 1), WebTransformationMatrix()); |
2716 scoped_ptr<SharedQuadState> sharedState = SharedQuadState::create(WebTransfo
rmationMatrix(), gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), 1); | 2718 scoped_ptr<SharedQuadState> sharedState = SharedQuadState::create(WebTransfo
rmationMatrix(), gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), 1); |
2717 scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::create(sharedState.get()
, gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1), resourceId, false, gfx::RectF(0,
0, 1, 1), false); | 2719 scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create(); |
| 2720 quad->SetNew(sharedState.get(), gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)
, resourceId, false, gfx::RectF(0, 0, 1, 1), false); |
2718 | 2721 |
2719 pass->appendSharedQuadState(sharedState.Pass()); | 2722 pass->appendSharedQuadState(sharedState.Pass()); |
2720 pass->appendQuad(quad.PassAs<DrawQuad>()); | 2723 pass->appendQuad(quad.PassAs<DrawQuad>()); |
2721 | 2724 |
2722 return pass.PassAs<RenderPass>(); | 2725 return pass.PassAs<RenderPass>(); |
2723 } | 2726 } |
2724 | 2727 |
2725 TEST_P(LayerTreeHostImplTest, dontUseOldResourcesAfterLostContext) | 2728 TEST_P(LayerTreeHostImplTest, dontUseOldResourcesAfterLostContext) |
2726 { | 2729 { |
2727 int layerId = 1; | 2730 int layerId = 1; |
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3151 gfx::Rect quadVisibleRect = frame.renderPasses[0]->quadList()[0]->visibl
e_rect; | 3154 gfx::Rect quadVisibleRect = frame.renderPasses[0]->quadList()[0]->visibl
e_rect; |
3152 EXPECT_LT(quadVisibleRect.width(), 100); | 3155 EXPECT_LT(quadVisibleRect.width(), 100); |
3153 | 3156 |
3154 quadVisibleRect = frame.renderPasses[0]->quadList()[1]->visible_rect; | 3157 quadVisibleRect = frame.renderPasses[0]->quadList()[1]->visible_rect; |
3155 EXPECT_LT(quadVisibleRect.width(), 100); | 3158 EXPECT_LT(quadVisibleRect.width(), 100); |
3156 | 3159 |
3157 // Verify that the render surface texture is *not* clipped. | 3160 // Verify that the render surface texture is *not* clipped. |
3158 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), frame.renderPasses[0]->outputR
ect()); | 3161 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), frame.renderPasses[0]->outputR
ect()); |
3159 | 3162 |
3160 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); | 3163 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); |
3161 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[1]->quadList()[0]); | 3164 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[1]->quadList()[0]); |
3162 EXPECT_FALSE(quad->contentsChangedSinceLastFrame().IsEmpty()); | 3165 EXPECT_FALSE(quad->contents_changed_since_last_frame.IsEmpty()); |
3163 | 3166 |
3164 myHostImpl->drawLayers(frame); | 3167 myHostImpl->drawLayers(frame); |
3165 myHostImpl->didDrawAllLayers(frame); | 3168 myHostImpl->didDrawAllLayers(frame); |
3166 } | 3169 } |
3167 | 3170 |
3168 transform = surfaceLayerPtr->transform(); | 3171 transform = surfaceLayerPtr->transform(); |
3169 transform.translate(50, 50); | 3172 transform.translate(50, 50); |
3170 transform.rotate(-35); | 3173 transform.rotate(-35); |
3171 transform.translate(-50, -50); | 3174 transform.translate(-50, -50); |
3172 surfaceLayerPtr->setTransform(transform); | 3175 surfaceLayerPtr->setTransform(transform); |
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3809 { | 3812 { |
3810 LayerTreeHostImpl::FrameData frame; | 3813 LayerTreeHostImpl::FrameData frame; |
3811 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3814 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3812 | 3815 |
3813 // Must receive two render passes, each with one quad | 3816 // Must receive two render passes, each with one quad |
3814 ASSERT_EQ(2U, frame.renderPasses.size()); | 3817 ASSERT_EQ(2U, frame.renderPasses.size()); |
3815 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3818 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3816 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 3819 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
3817 | 3820 |
3818 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); | 3821 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); |
3819 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[1]->quadList()[0]); | 3822 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[1]->quadList()[0]); |
3820 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3823 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3821 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 3824 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
3822 | 3825 |
3823 myHostImpl->drawLayers(frame); | 3826 myHostImpl->drawLayers(frame); |
3824 myHostImpl->didDrawAllLayers(frame); | 3827 myHostImpl->didDrawAllLayers(frame); |
3825 } | 3828 } |
3826 | 3829 |
3827 // Draw without any change | 3830 // Draw without any change |
3828 { | 3831 { |
3829 LayerTreeHostImpl::FrameData frame; | 3832 LayerTreeHostImpl::FrameData frame; |
3830 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3833 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3831 | 3834 |
3832 // Must receive one render pass, as the other one should be culled | 3835 // Must receive one render pass, as the other one should be culled |
3833 ASSERT_EQ(1U, frame.renderPasses.size()); | 3836 ASSERT_EQ(1U, frame.renderPasses.size()); |
3834 | 3837 |
3835 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3838 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3836 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); | 3839 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); |
3837 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[0]->quadList()[0]); | 3840 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[0]->quadList()[0]); |
3838 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3841 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3839 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3842 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
3840 | 3843 |
3841 myHostImpl->drawLayers(frame); | 3844 myHostImpl->drawLayers(frame); |
3842 myHostImpl->didDrawAllLayers(frame); | 3845 myHostImpl->didDrawAllLayers(frame); |
3843 } | 3846 } |
3844 | 3847 |
3845 // Change opacity and draw | 3848 // Change opacity and draw |
3846 surfaceLayerPtr->setOpacity(0.6f); | 3849 surfaceLayerPtr->setOpacity(0.6f); |
3847 { | 3850 { |
3848 LayerTreeHostImpl::FrameData frame; | 3851 LayerTreeHostImpl::FrameData frame; |
3849 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3852 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3850 | 3853 |
3851 // Must receive one render pass, as the other one should be culled | 3854 // Must receive one render pass, as the other one should be culled |
3852 ASSERT_EQ(1U, frame.renderPasses.size()); | 3855 ASSERT_EQ(1U, frame.renderPasses.size()); |
3853 | 3856 |
3854 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3857 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3855 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); | 3858 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); |
3856 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[0]->quadList()[0]); | 3859 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[0]->quadList()[0]); |
3857 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3860 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3858 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3861 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
3859 | 3862 |
3860 myHostImpl->drawLayers(frame); | 3863 myHostImpl->drawLayers(frame); |
3861 myHostImpl->didDrawAllLayers(frame); | 3864 myHostImpl->didDrawAllLayers(frame); |
3862 } | 3865 } |
3863 | 3866 |
3864 // Change less benign property and draw - should have contents changed flag | 3867 // Change less benign property and draw - should have contents changed flag |
3865 surfaceLayerPtr->setStackingOrderChanged(true); | 3868 surfaceLayerPtr->setStackingOrderChanged(true); |
3866 { | 3869 { |
3867 LayerTreeHostImpl::FrameData frame; | 3870 LayerTreeHostImpl::FrameData frame; |
3868 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3871 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3869 | 3872 |
3870 // Must receive two render passes, each with one quad | 3873 // Must receive two render passes, each with one quad |
3871 ASSERT_EQ(2U, frame.renderPasses.size()); | 3874 ASSERT_EQ(2U, frame.renderPasses.size()); |
3872 | 3875 |
3873 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3876 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3874 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial); | 3877 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial); |
3875 | 3878 |
3876 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); | 3879 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); |
3877 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[1]->quadList()[0]); | 3880 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[1]->quadList()[0]); |
3878 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3881 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3879 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 3882 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
3880 | 3883 |
3881 myHostImpl->drawLayers(frame); | 3884 myHostImpl->drawLayers(frame); |
3882 myHostImpl->didDrawAllLayers(frame); | 3885 myHostImpl->didDrawAllLayers(frame); |
3883 } | 3886 } |
3884 | 3887 |
3885 // Change opacity again, and evict the cached surface texture. | 3888 // Change opacity again, and evict the cached surface texture. |
3886 surfaceLayerPtr->setOpacity(0.5f); | 3889 surfaceLayerPtr->setOpacity(0.5f); |
3887 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); | 3890 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); |
3888 | 3891 |
3889 // Change opacity and draw | 3892 // Change opacity and draw |
3890 surfaceLayerPtr->setOpacity(0.6f); | 3893 surfaceLayerPtr->setOpacity(0.6f); |
3891 { | 3894 { |
3892 LayerTreeHostImpl::FrameData frame; | 3895 LayerTreeHostImpl::FrameData frame; |
3893 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3896 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3894 | 3897 |
3895 // Must receive two render passes | 3898 // Must receive two render passes |
3896 ASSERT_EQ(2U, frame.renderPasses.size()); | 3899 ASSERT_EQ(2U, frame.renderPasses.size()); |
3897 | 3900 |
3898 // Even though not enough properties changed, the entire thing must be | 3901 // Even though not enough properties changed, the entire thing must be |
3899 // redrawn as we don't have cached textures | 3902 // redrawn as we don't have cached textures |
3900 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3903 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3901 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 3904 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
3902 | 3905 |
3903 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); | 3906 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); |
3904 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[1]->quadList()[0]); | 3907 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[1]->quadList()[0]); |
3905 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3908 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3906 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3909 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
3907 | 3910 |
3908 // Was our surface evicted? | 3911 // Was our surface evicted? |
3909 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); | 3912 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); |
3910 | 3913 |
3911 myHostImpl->drawLayers(frame); | 3914 myHostImpl->drawLayers(frame); |
3912 myHostImpl->didDrawAllLayers(frame); | 3915 myHostImpl->didDrawAllLayers(frame); |
3913 } | 3916 } |
3914 | 3917 |
3915 // Draw without any change, to make sure the state is clear | 3918 // Draw without any change, to make sure the state is clear |
3916 { | 3919 { |
3917 LayerTreeHostImpl::FrameData frame; | 3920 LayerTreeHostImpl::FrameData frame; |
3918 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3921 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3919 | 3922 |
3920 // Must receive one render pass, as the other one should be culled | 3923 // Must receive one render pass, as the other one should be culled |
3921 ASSERT_EQ(1U, frame.renderPasses.size()); | 3924 ASSERT_EQ(1U, frame.renderPasses.size()); |
3922 | 3925 |
3923 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3926 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3924 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); | 3927 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); |
3925 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[0]->quadList()[0]); | 3928 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[0]->quadList()[0]); |
3926 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3929 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3927 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3930 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
3928 | 3931 |
3929 myHostImpl->drawLayers(frame); | 3932 myHostImpl->drawLayers(frame); |
3930 myHostImpl->didDrawAllLayers(frame); | 3933 myHostImpl->didDrawAllLayers(frame); |
3931 } | 3934 } |
3932 | 3935 |
3933 // Change location of the intermediate layer | 3936 // Change location of the intermediate layer |
3934 WebTransformationMatrix transform = intermediateLayerPtr->transform(); | 3937 WebTransformationMatrix transform = intermediateLayerPtr->transform(); |
3935 transform.setM41(1.0001); | 3938 transform.setM41(1.0001); |
3936 intermediateLayerPtr->setTransform(transform); | 3939 intermediateLayerPtr->setTransform(transform); |
3937 { | 3940 { |
3938 LayerTreeHostImpl::FrameData frame; | 3941 LayerTreeHostImpl::FrameData frame; |
3939 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3942 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3940 | 3943 |
3941 // Must receive one render pass, as the other one should be culled. | 3944 // Must receive one render pass, as the other one should be culled. |
3942 ASSERT_EQ(1U, frame.renderPasses.size()); | 3945 ASSERT_EQ(1U, frame.renderPasses.size()); |
3943 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3946 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3944 | 3947 |
3945 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); | 3948 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); |
3946 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[0]->quadList()[0]); | 3949 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[0]->quadList()[0]); |
3947 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3950 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3948 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 3951 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
3949 | 3952 |
3950 myHostImpl->drawLayers(frame); | 3953 myHostImpl->drawLayers(frame); |
3951 myHostImpl->didDrawAllLayers(frame); | 3954 myHostImpl->didDrawAllLayers(frame); |
3952 } | 3955 } |
3953 } | 3956 } |
3954 | 3957 |
3955 TEST_P(LayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap) | 3958 TEST_P(LayerTreeHostImplTest, surfaceTextureCachingNoPartialSwap) |
3956 { | 3959 { |
3957 LayerTreeSettings settings; | 3960 LayerTreeSettings settings; |
(...skipping 10 matching lines...) Expand all Loading... |
3968 { | 3971 { |
3969 LayerTreeHostImpl::FrameData frame; | 3972 LayerTreeHostImpl::FrameData frame; |
3970 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 3973 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
3971 | 3974 |
3972 // Must receive two render passes, each with one quad | 3975 // Must receive two render passes, each with one quad |
3973 ASSERT_EQ(2U, frame.renderPasses.size()); | 3976 ASSERT_EQ(2U, frame.renderPasses.size()); |
3974 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 3977 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
3975 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 3978 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
3976 | 3979 |
3977 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); | 3980 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); |
3978 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[1]->quadList()[0]); | 3981 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[1]->quadList()[0]); |
3979 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 3982 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
3980 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 3983 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
3981 | 3984 |
3982 EXPECT_FALSE(frame.renderPasses[0]->damageRect().IsEmpty()); | 3985 EXPECT_FALSE(frame.renderPasses[0]->damageRect().IsEmpty()); |
3983 EXPECT_FALSE(frame.renderPasses[1]->damageRect().IsEmpty()); | 3986 EXPECT_FALSE(frame.renderPasses[1]->damageRect().IsEmpty()); |
3984 | 3987 |
3985 EXPECT_FALSE(frame.renderPasses[0]->hasOcclusionFromOutsideTargetSurface
()); | 3988 EXPECT_FALSE(frame.renderPasses[0]->hasOcclusionFromOutsideTargetSurface
()); |
3986 EXPECT_FALSE(frame.renderPasses[1]->hasOcclusionFromOutsideTargetSurface
()); | 3989 EXPECT_FALSE(frame.renderPasses[1]->hasOcclusionFromOutsideTargetSurface
()); |
3987 | 3990 |
3988 myHostImpl->drawLayers(frame); | 3991 myHostImpl->drawLayers(frame); |
3989 myHostImpl->didDrawAllLayers(frame); | 3992 myHostImpl->didDrawAllLayers(frame); |
(...skipping 20 matching lines...) Expand all Loading... |
4010 surfaceLayerPtr->setOpacity(0.6f); | 4013 surfaceLayerPtr->setOpacity(0.6f); |
4011 { | 4014 { |
4012 LayerTreeHostImpl::FrameData frame; | 4015 LayerTreeHostImpl::FrameData frame; |
4013 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 4016 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
4014 | 4017 |
4015 // Must receive one render pass, as the other one should be culled | 4018 // Must receive one render pass, as the other one should be culled |
4016 ASSERT_EQ(1U, frame.renderPasses.size()); | 4019 ASSERT_EQ(1U, frame.renderPasses.size()); |
4017 | 4020 |
4018 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 4021 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
4019 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); | 4022 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); |
4020 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[0]->quadList()[0]); | 4023 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[0]->quadList()[0]); |
4021 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4024 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
4022 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 4025 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
4023 | 4026 |
4024 myHostImpl->drawLayers(frame); | 4027 myHostImpl->drawLayers(frame); |
4025 myHostImpl->didDrawAllLayers(frame); | 4028 myHostImpl->didDrawAllLayers(frame); |
4026 } | 4029 } |
4027 | 4030 |
4028 // Change less benign property and draw - should have contents changed flag | 4031 // Change less benign property and draw - should have contents changed flag |
4029 surfaceLayerPtr->setStackingOrderChanged(true); | 4032 surfaceLayerPtr->setStackingOrderChanged(true); |
4030 { | 4033 { |
4031 LayerTreeHostImpl::FrameData frame; | 4034 LayerTreeHostImpl::FrameData frame; |
4032 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 4035 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
4033 | 4036 |
4034 // Must receive two render passes, each with one quad | 4037 // Must receive two render passes, each with one quad |
4035 ASSERT_EQ(2U, frame.renderPasses.size()); | 4038 ASSERT_EQ(2U, frame.renderPasses.size()); |
4036 | 4039 |
4037 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 4040 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
4038 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial); | 4041 EXPECT_EQ(DrawQuad::SOLID_COLOR, frame.renderPasses[0]->quadList()[0]->m
aterial); |
4039 | 4042 |
4040 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); | 4043 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); |
4041 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[1]->quadList()[0]); | 4044 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[1]->quadList()[0]); |
4042 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4045 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
4043 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); | 4046 EXPECT_FALSE(targetPass->damageRect().IsEmpty()); |
4044 | 4047 |
4045 myHostImpl->drawLayers(frame); | 4048 myHostImpl->drawLayers(frame); |
4046 myHostImpl->didDrawAllLayers(frame); | 4049 myHostImpl->didDrawAllLayers(frame); |
4047 } | 4050 } |
4048 | 4051 |
4049 // Change opacity again, and evict the cached surface texture. | 4052 // Change opacity again, and evict the cached surface texture. |
4050 surfaceLayerPtr->setOpacity(0.5f); | 4053 surfaceLayerPtr->setOpacity(0.5f); |
4051 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); | 4054 static_cast<GLRendererWithReleaseTextures*>(myHostImpl->renderer())->release
RenderPassTextures(); |
4052 | 4055 |
4053 // Change opacity and draw | 4056 // Change opacity and draw |
4054 surfaceLayerPtr->setOpacity(0.6f); | 4057 surfaceLayerPtr->setOpacity(0.6f); |
4055 { | 4058 { |
4056 LayerTreeHostImpl::FrameData frame; | 4059 LayerTreeHostImpl::FrameData frame; |
4057 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 4060 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
4058 | 4061 |
4059 // Must receive two render passes | 4062 // Must receive two render passes |
4060 ASSERT_EQ(2U, frame.renderPasses.size()); | 4063 ASSERT_EQ(2U, frame.renderPasses.size()); |
4061 | 4064 |
4062 // Even though not enough properties changed, the entire thing must be | 4065 // Even though not enough properties changed, the entire thing must be |
4063 // redrawn as we don't have cached textures | 4066 // redrawn as we don't have cached textures |
4064 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 4067 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
4065 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); | 4068 EXPECT_EQ(1U, frame.renderPasses[1]->quadList().size()); |
4066 | 4069 |
4067 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); | 4070 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[1]->quadList()[0]->m
aterial); |
4068 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[1]->quadList()[0]); | 4071 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[1]->quadList()[0]); |
4069 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4072 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
4070 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 4073 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
4071 | 4074 |
4072 // Was our surface evicted? | 4075 // Was our surface evicted? |
4073 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); | 4076 EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(
targetPass->id())); |
4074 | 4077 |
4075 myHostImpl->drawLayers(frame); | 4078 myHostImpl->drawLayers(frame); |
4076 myHostImpl->didDrawAllLayers(frame); | 4079 myHostImpl->didDrawAllLayers(frame); |
4077 } | 4080 } |
4078 | 4081 |
4079 // Draw without any change, to make sure the state is clear | 4082 // Draw without any change, to make sure the state is clear |
(...skipping 17 matching lines...) Expand all Loading... |
4097 intermediateLayerPtr->setTransform(transform); | 4100 intermediateLayerPtr->setTransform(transform); |
4098 { | 4101 { |
4099 LayerTreeHostImpl::FrameData frame; | 4102 LayerTreeHostImpl::FrameData frame; |
4100 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); | 4103 EXPECT_TRUE(myHostImpl->prepareToDraw(frame)); |
4101 | 4104 |
4102 // Must receive one render pass, as the other one should be culled. | 4105 // Must receive one render pass, as the other one should be culled. |
4103 ASSERT_EQ(1U, frame.renderPasses.size()); | 4106 ASSERT_EQ(1U, frame.renderPasses.size()); |
4104 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); | 4107 EXPECT_EQ(1U, frame.renderPasses[0]->quadList().size()); |
4105 | 4108 |
4106 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); | 4109 EXPECT_EQ(DrawQuad::RENDER_PASS, frame.renderPasses[0]->quadList()[0]->m
aterial); |
4107 const RenderPassDrawQuad* quad = RenderPassDrawQuad::materialCast(frame.
renderPasses[0]->quadList()[0]); | 4110 const RenderPassDrawQuad* quad = RenderPassDrawQuad::MaterialCast(frame.
renderPasses[0]->quadList()[0]); |
4108 RenderPass* targetPass = frame.renderPassesById.get(quad->renderPassId()
); | 4111 RenderPass* targetPass = frame.renderPassesById.get(quad->render_pass_id
); |
4109 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); | 4112 EXPECT_TRUE(targetPass->damageRect().IsEmpty()); |
4110 | 4113 |
4111 myHostImpl->drawLayers(frame); | 4114 myHostImpl->drawLayers(frame); |
4112 myHostImpl->didDrawAllLayers(frame); | 4115 myHostImpl->didDrawAllLayers(frame); |
4113 } | 4116 } |
4114 } | 4117 } |
4115 | 4118 |
4116 TEST_P(LayerTreeHostImplTest, releaseContentsTextureShouldTriggerCommit) | 4119 TEST_P(LayerTreeHostImplTest, releaseContentsTextureShouldTriggerCommit) |
4117 { | 4120 { |
4118 setReduceMemoryResult(false); | 4121 setReduceMemoryResult(false); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4205 bool isReplica = false; | 4208 bool isReplica = false; |
4206 if (!testData.renderPassCache.contains(renderPassId)) | 4209 if (!testData.renderPassCache.contains(renderPassId)) |
4207 isReplica = true; | 4210 isReplica = true; |
4208 | 4211 |
4209 scoped_ptr<TestRenderPass> renderPass = testData.renderPassCache.take(re
nderPassId); | 4212 scoped_ptr<TestRenderPass> renderPass = testData.renderPassCache.take(re
nderPassId); |
4210 | 4213 |
4211 // Cycle through quad data and create all quads | 4214 // Cycle through quad data and create all quads |
4212 while (*currentChar && *currentChar != '\n') { | 4215 while (*currentChar && *currentChar != '\n') { |
4213 if (*currentChar == 's') { | 4216 if (*currentChar == 's') { |
4214 // Solid color draw quad | 4217 // Solid color draw quad |
4215 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::create
(testData.sharedQuadState.get(), gfx::Rect(0, 0, 10, 10), SK_ColorWHITE); | 4218 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create
(); |
| 4219 quad->SetNew(testData.sharedQuadState.get(), gfx::Rect(0, 0, 10,
10), SK_ColorWHITE); |
4216 | 4220 |
4217 renderPass->appendQuad(quad.PassAs<DrawQuad>()); | 4221 renderPass->appendQuad(quad.PassAs<DrawQuad>()); |
4218 currentChar++; | 4222 currentChar++; |
4219 } else if ((*currentChar >= 'A') && (*currentChar <= 'Z')) { | 4223 } else if ((*currentChar >= 'A') && (*currentChar <= 'Z')) { |
4220 // RenderPass draw quad | 4224 // RenderPass draw quad |
4221 int layerId = *currentChar; | 4225 int layerId = *currentChar; |
4222 currentChar++; | 4226 currentChar++; |
4223 ASSERT_TRUE(currentChar); | 4227 ASSERT_TRUE(currentChar); |
4224 int index = *currentChar; | 4228 int index = *currentChar; |
4225 currentChar++; | 4229 currentChar++; |
(...skipping 21 matching lines...) Expand all Loading... |
4247 | 4251 |
4248 if (testData.renderPassCache.find(newRenderPassId) == testData.r
enderPassCache.end()) { | 4252 if (testData.renderPassCache.find(newRenderPassId) == testData.r
enderPassCache.end()) { |
4249 if (hasTexture) | 4253 if (hasTexture) |
4250 renderer->setHaveCachedResourcesForRenderPassId(newRende
rPassId); | 4254 renderer->setHaveCachedResourcesForRenderPassId(newRende
rPassId); |
4251 | 4255 |
4252 testData.renderPassCache.add(newRenderPassId, TestRenderPass
::create(newRenderPassId, gfx::Rect(), WebTransformationMatrix())); | 4256 testData.renderPassCache.add(newRenderPassId, TestRenderPass
::create(newRenderPassId, gfx::Rect(), WebTransformationMatrix())); |
4253 } | 4257 } |
4254 | 4258 |
4255 gfx::Rect quadRect = gfx::Rect(0, 0, 1, 1); | 4259 gfx::Rect quadRect = gfx::Rect(0, 0, 1, 1); |
4256 gfx::Rect contentsChangedRect = contentsChanged ? quadRect : gfx
::Rect(); | 4260 gfx::Rect contentsChangedRect = contentsChanged ? quadRect : gfx
::Rect(); |
4257 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::create
(testData.sharedQuadState.get(), quadRect, newRenderPassId, isReplica, 1, conten
tsChangedRect, 1, 1, 0, 0); | 4261 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create
(); |
| 4262 quad->SetNew(testData.sharedQuadState.get(), quadRect, newRender
PassId, isReplica, 1, contentsChangedRect, 1, 1, 0, 0); |
4258 renderPass->appendQuad(quad.PassAs<DrawQuad>()); | 4263 renderPass->appendQuad(quad.PassAs<DrawQuad>()); |
4259 } | 4264 } |
4260 } | 4265 } |
4261 testData.renderPasses.insert(testData.renderPasses.begin(), renderPass.g
et()); | 4266 testData.renderPasses.insert(testData.renderPasses.begin(), renderPass.g
et()); |
4262 testData.renderPassesById.add(renderPassId, renderPass.PassAs<RenderPass
>()); | 4267 testData.renderPassesById.add(renderPassId, renderPass.PassAs<RenderPass
>()); |
4263 if (*currentChar) | 4268 if (*currentChar) |
4264 currentChar++; | 4269 currentChar++; |
4265 } | 4270 } |
4266 } | 4271 } |
4267 | 4272 |
4268 void dumpRenderPassTestData(const RenderPassRemovalTestData& testData, char* buf
fer) | 4273 void dumpRenderPassTestData(const RenderPassRemovalTestData& testData, char* buf
fer) |
4269 { | 4274 { |
4270 char* pos = buffer; | 4275 char* pos = buffer; |
4271 for (RenderPassList::const_reverse_iterator it = testData.renderPasses.rbegi
n(); it != testData.renderPasses.rend(); ++it) { | 4276 for (RenderPassList::const_reverse_iterator it = testData.renderPasses.rbegi
n(); it != testData.renderPasses.rend(); ++it) { |
4272 const RenderPass* currentPass = *it; | 4277 const RenderPass* currentPass = *it; |
4273 *pos = currentPass->id().layerId; | 4278 *pos = currentPass->id().layerId; |
4274 pos++; | 4279 pos++; |
4275 *pos = currentPass->id().index; | 4280 *pos = currentPass->id().index; |
4276 pos++; | 4281 pos++; |
4277 | 4282 |
4278 QuadList::const_iterator quadListIterator = currentPass->quadList().begi
n(); | 4283 QuadList::const_iterator quadListIterator = currentPass->quadList().begi
n(); |
4279 while (quadListIterator != currentPass->quadList().end()) { | 4284 while (quadListIterator != currentPass->quadList().end()) { |
4280 DrawQuad* currentQuad = *quadListIterator; | 4285 DrawQuad* currentQuad = *quadListIterator; |
4281 switch (currentQuad->material) { | 4286 switch (currentQuad->material) { |
4282 case DrawQuad::SOLID_COLOR: | 4287 case DrawQuad::SOLID_COLOR: |
4283 *pos = 's'; | 4288 *pos = 's'; |
4284 pos++; | 4289 pos++; |
4285 break; | 4290 break; |
4286 case DrawQuad::RENDER_PASS: | 4291 case DrawQuad::RENDER_PASS: |
4287 *pos = RenderPassDrawQuad::materialCast(currentQuad)->renderPass
Id().layerId; | 4292 *pos = RenderPassDrawQuad::MaterialCast(currentQuad)->render_pas
s_id.layerId; |
4288 pos++; | 4293 pos++; |
4289 *pos = RenderPassDrawQuad::materialCast(currentQuad)->renderPass
Id().index; | 4294 *pos = RenderPassDrawQuad::MaterialCast(currentQuad)->render_pas
s_id.index; |
4290 pos++; | 4295 pos++; |
4291 break; | 4296 break; |
4292 default: | 4297 default: |
4293 *pos = 'x'; | 4298 *pos = 'x'; |
4294 pos++; | 4299 pos++; |
4295 break; | 4300 break; |
4296 } | 4301 } |
4297 | 4302 |
4298 quadListIterator++; | 4303 quadListIterator++; |
4299 } | 4304 } |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4468 testCaseIndex++; | 4473 testCaseIndex++; |
4469 } | 4474 } |
4470 } | 4475 } |
4471 | 4476 |
4472 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, | 4477 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, |
4473 LayerTreeHostImplTest, | 4478 LayerTreeHostImplTest, |
4474 ::testing::Values(false, true)); | 4479 ::testing::Values(false, true)); |
4475 | 4480 |
4476 } // namespace | 4481 } // namespace |
4477 } // namespace cc | 4482 } // namespace cc |
OLD | NEW |