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

Unified Diff: cc/trees/layer_tree_host_unittest_copyrequest.cc

Issue 2151433004: cc: Make LayerTreeHostImpl::SwapBuffers not virtual. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@removedidswap
Patch Set: novirtualswapbuffers: . Created 4 years, 5 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
Index: cc/trees/layer_tree_host_unittest_copyrequest.cc
diff --git a/cc/trees/layer_tree_host_unittest_copyrequest.cc b/cc/trees/layer_tree_host_unittest_copyrequest.cc
index e27498a396e5167e8d32cbd3b5fb6a8e1cb16845..3ae9e6ffafe2f8ed2cba53fa48c1199813735139 100644
--- a/cc/trees/layer_tree_host_unittest_copyrequest.cc
+++ b/cc/trees/layer_tree_host_unittest_copyrequest.cc
@@ -774,8 +774,8 @@ class LayerTreeHostCopyRequestTestLostOutputSurface
EndTest();
}
- void SwapBuffersOnThread(LayerTreeHostImpl* impl, bool result) override {
- switch (impl->active_tree()->source_frame_number()) {
+ void SwapBuffersCompleteOnThread() override {
+ switch (num_swaps_++) {
case 0:
// The layers have been drawn, so their textures have been allocated.
EXPECT_FALSE(result_);
@@ -829,6 +829,7 @@ class LayerTreeHostCopyRequestTestLostOutputSurface
scoped_refptr<TestContextProvider> first_context_provider_;
scoped_refptr<TestContextProvider> second_context_provider_;
+ int num_swaps_ = 0;
size_t num_textures_without_readback_ = 0;
size_t num_textures_after_loss_ = 0;
FakeContentLayerClient client_;
@@ -864,8 +865,6 @@ class LayerTreeHostCopyRequestTestCountTextures
}
void BeginTest() override {
- num_textures_without_readback_ = 0;
- num_textures_with_readback_ = 0;
waited_sync_token_after_readback_.Clear();
PostSetNeedsCommitToMainThread();
}
@@ -882,8 +881,8 @@ class LayerTreeHostCopyRequestTestCountTextures
}
}
- void SwapBuffersOnThread(LayerTreeHostImpl* impl, bool result) override {
- switch (impl->active_tree()->source_frame_number()) {
+ void SwapBuffersCompleteOnThread() override {
+ switch (num_swaps_++) {
case 0:
// The layers have been drawn, so their textures have been allocated.
num_textures_without_readback_ =
@@ -907,8 +906,9 @@ class LayerTreeHostCopyRequestTestCountTextures
virtual void DoEndTest() { EndTest(); }
scoped_refptr<TestContextProvider> context_provider_;
- size_t num_textures_without_readback_;
- size_t num_textures_with_readback_;
+ int num_swaps_ = 0;
+ size_t num_textures_without_readback_ = 0;
+ size_t num_textures_with_readback_ = 0;
gpu::SyncToken waited_sync_token_after_readback_;
FakeContentLayerClient client_;
scoped_refptr<FakePictureLayer> root_;
@@ -931,19 +931,20 @@ class LayerTreeHostCopyRequestTestCreatesTexture
EXPECT_TRUE(result->HasTexture());
TextureMailbox mailbox;
- std::unique_ptr<SingleReleaseCallback> release;
- result->TakeTexture(&mailbox, &release);
- EXPECT_TRUE(release);
-
- release->Run(gpu::SyncToken(), false);
danakj 2016/07/13 21:50:18 Running this here means it might run before SwapBu
+ result->TakeTexture(&mailbox, &release_);
+ EXPECT_TRUE(release_);
}
void AfterTest() override {
+ release_->Run(gpu::SyncToken(), false);
+
// No sync point was needed.
EXPECT_FALSE(waited_sync_token_after_readback_.HasData());
// Except the copy to have made another texture.
EXPECT_EQ(num_textures_without_readback_ + 1, num_textures_with_readback_);
}
+
+ std::unique_ptr<SingleReleaseCallback> release_;
};
SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(

Powered by Google App Engine
This is Rietveld 408576698