Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(672)

Unified Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 1413053004: cc: Remove LayerTreeHostImpl::FrameData::render_passes_by_id. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« cc/trees/layer_tree_host_impl.cc ('K') | « cc/trees/layer_tree_host_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_impl_unittest.cc
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index c574a5050a7a36271d44dc0797da46985f6e5c8a..f716cd9feb51e3b9e0453a1cfcfc452828317554 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -8664,6 +8664,11 @@ TEST_F(LayerTreeHostImplCountingLostSurfaces, TwiceLostSurface) {
EXPECT_LE(1, num_lost_surfaces_);
}
+size_t CountRenderPassesWithId(const RenderPassList& list, RenderPassId id) {
+ return std::count_if(list.begin(), list.end(),
+ [id](const RenderPass* p) { return p->id == id; });
+}
+
TEST_F(LayerTreeHostImplTest, RemoveUnreferencedRenderPass) {
LayerTreeHostImpl::FrameData frame;
frame.render_passes.push_back(RenderPass::Create());
@@ -8677,10 +8682,6 @@ TEST_F(LayerTreeHostImplTest, RemoveUnreferencedRenderPass) {
pass2->SetNew(RenderPassId(2, 0), gfx::Rect(), gfx::Rect(), gfx::Transform());
pass3->SetNew(RenderPassId(3, 0), gfx::Rect(), gfx::Rect(), gfx::Transform());
- frame.render_passes_by_id[pass1->id] = pass1;
- frame.render_passes_by_id[pass2->id] = pass2;
- frame.render_passes_by_id[pass3->id] = pass3;
-
// Add a quad to each pass so they aren't empty.
SolidColorDrawQuad* color_quad;
color_quad = pass1->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
@@ -8698,11 +8699,13 @@ TEST_F(LayerTreeHostImplTest, RemoveUnreferencedRenderPass) {
// But pass2 is not referenced by pass1. So pass2 and pass3 should be culled.
FakeLayerTreeHostImpl::RemoveRenderPasses(&frame);
- EXPECT_EQ(1u, frame.render_passes_by_id.size());
- EXPECT_TRUE(frame.render_passes_by_id[RenderPassId(1, 0)]);
- EXPECT_FALSE(frame.render_passes_by_id[RenderPassId(2, 0)]);
- EXPECT_FALSE(frame.render_passes_by_id[RenderPassId(3, 0)]);
EXPECT_EQ(1u, frame.render_passes.size());
+ EXPECT_EQ(1u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(1, 0)));
+ EXPECT_EQ(0u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(2, 0)));
+ EXPECT_EQ(0u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(3, 0)));
EXPECT_EQ(RenderPassId(1, 0), frame.render_passes[0]->id);
}
@@ -8719,10 +8722,6 @@ TEST_F(LayerTreeHostImplTest, RemoveEmptyRenderPass) {
pass2->SetNew(RenderPassId(2, 0), gfx::Rect(), gfx::Rect(), gfx::Transform());
pass3->SetNew(RenderPassId(3, 0), gfx::Rect(), gfx::Rect(), gfx::Transform());
- frame.render_passes_by_id[pass1->id] = pass1;
- frame.render_passes_by_id[pass2->id] = pass2;
- frame.render_passes_by_id[pass3->id] = pass3;
-
// pass1 is not empty, but pass2 and pass3 are.
SolidColorDrawQuad* color_quad;
color_quad = pass1->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
@@ -8742,11 +8741,13 @@ TEST_F(LayerTreeHostImplTest, RemoveEmptyRenderPass) {
// Since pass3 is empty it should be removed. Then pass2 is empty too, and
// should be removed.
FakeLayerTreeHostImpl::RemoveRenderPasses(&frame);
- EXPECT_EQ(1u, frame.render_passes_by_id.size());
- EXPECT_TRUE(frame.render_passes_by_id[RenderPassId(1, 0)]);
- EXPECT_FALSE(frame.render_passes_by_id[RenderPassId(2, 0)]);
- EXPECT_FALSE(frame.render_passes_by_id[RenderPassId(3, 0)]);
EXPECT_EQ(1u, frame.render_passes.size());
+ EXPECT_EQ(1u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(1, 0)));
+ EXPECT_EQ(0u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(2, 0)));
+ EXPECT_EQ(0u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(3, 0)));
EXPECT_EQ(RenderPassId(1, 0), frame.render_passes[0]->id);
// The RenderPassDrawQuad should be removed from pass1.
EXPECT_EQ(1u, pass1->quad_list.size());
@@ -8766,10 +8767,6 @@ TEST_F(LayerTreeHostImplTest, DoNotRemoveEmptyRootRenderPass) {
pass2->SetNew(RenderPassId(2, 0), gfx::Rect(), gfx::Rect(), gfx::Transform());
pass3->SetNew(RenderPassId(3, 0), gfx::Rect(), gfx::Rect(), gfx::Transform());
- frame.render_passes_by_id[pass1->id] = pass1;
- frame.render_passes_by_id[pass2->id] = pass2;
- frame.render_passes_by_id[pass3->id] = pass3;
-
// pass3 is referenced by pass2.
RenderPassDrawQuad* rpdq =
pass2->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
@@ -8785,11 +8782,13 @@ TEST_F(LayerTreeHostImplTest, DoNotRemoveEmptyRootRenderPass) {
// should be removed. Then pass1 is empty too, but it's the root so it should
// not be removed.
FakeLayerTreeHostImpl::RemoveRenderPasses(&frame);
- EXPECT_EQ(1u, frame.render_passes_by_id.size());
- EXPECT_TRUE(frame.render_passes_by_id[RenderPassId(1, 0)]);
- EXPECT_FALSE(frame.render_passes_by_id[RenderPassId(2, 0)]);
- EXPECT_FALSE(frame.render_passes_by_id[RenderPassId(3, 0)]);
EXPECT_EQ(1u, frame.render_passes.size());
+ EXPECT_EQ(1u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(1, 0)));
+ EXPECT_EQ(0u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(2, 0)));
+ EXPECT_EQ(0u,
+ CountRenderPassesWithId(frame.render_passes, RenderPassId(3, 0)));
EXPECT_EQ(RenderPassId(1, 0), frame.render_passes[0]->id);
// The RenderPassDrawQuad should be removed from pass1.
EXPECT_EQ(0u, pass1->quad_list.size());
« cc/trees/layer_tree_host_impl.cc ('K') | « cc/trees/layer_tree_host_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698