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

Unified Diff: cc/resources/resource_pool_unittest.cc

Issue 2726263003: cc::ResourcePool - Re-use larger resources for smaller requests (Closed)
Patch Set: Base re-use threshold on pixel area, not individual dimensions. Created 3 years, 9 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/resources/resource_pool.cc ('K') | « cc/resources/resource_pool.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/resource_pool_unittest.cc
diff --git a/cc/resources/resource_pool_unittest.cc b/cc/resources/resource_pool_unittest.cc
index aa8e853e0c4f9caa95eda9cd1c30e7fc374f6002..8539bb289ea7423551220b5a6b8dc182e0cccf5a 100644
--- a/cc/resources/resource_pool_unittest.cc
+++ b/cc/resources/resource_pool_unittest.cc
@@ -324,17 +324,28 @@ TEST_F(ResourcePoolTest, ReuseResource) {
resource_pool_->CreateResource(gfx::Size(99, 99), format, color_space));
resource_pool_->ReleaseResource(
resource_pool_->CreateResource(gfx::Size(100, 99), format, color_space));
- resource_pool_->ReleaseResource(
- resource_pool_->CreateResource(gfx::Size(101, 101), format, color_space));
resource_pool_->CheckBusyResources();
- gfx::Size size(100, 100);
- Resource* resource = resource_pool_->ReuseResource(size, format, color_space);
- EXPECT_EQ(nullptr, resource);
- size = gfx::Size(100, 99);
- resource = resource_pool_->ReuseResource(size, format, color_space);
+ // 100, 100 is too large, not in our pool.
+ EXPECT_EQ(nullptr, resource_pool_->ReuseResource(gfx::Size(100, 100), format,
+ color_space));
+
+ // 45, 99 is too small, shouldn't match.
+ EXPECT_EQ(nullptr, resource_pool_->ReuseResource(gfx::Size(45, 99), format,
danakj 2017/03/10 18:55:40 Can you test the boundary cases a bit more to esta
ericrk 2017/03/10 20:04:07 Done.
+ color_space));
+
+ // 100, 99 is an exact match
+ auto* resource =
+ resource_pool_->ReuseResource(gfx::Size(100, 99), format, color_space);
+ EXPECT_NE(nullptr, resource);
+ EXPECT_EQ(nullptr, resource_pool_->ReuseResource(gfx::Size(100, 99), format,
+ color_space));
+ resource_pool_->ReleaseResource(resource);
+
+ // 98, 98 should match a larger resource size.
+ resource =
+ resource_pool_->ReuseResource(gfx::Size(98, 98), format, color_space);
EXPECT_NE(nullptr, resource);
- ASSERT_EQ(nullptr, resource_pool_->ReuseResource(size, format, color_space));
resource_pool_->ReleaseResource(resource);
}
« cc/resources/resource_pool.cc ('K') | « cc/resources/resource_pool.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698