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

Side by Side Diff: cc/trees/layer_tree_host_impl_unittest.cc

Issue 916723002: cc: Add threaded GPU rasterization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Implement ContextProviderInProcess::DetachFromThread(). Created 5 years, 10 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 unified diff | Download patch
OLDNEW
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/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 6628 matching lines...) Expand 10 before | Expand all | Expand 10 after
6639 6639
6640 6640
6641 TEST_F(LayerTreeHostImplTestDeferredInitialize, Success) { 6641 TEST_F(LayerTreeHostImplTestDeferredInitialize, Success) {
6642 // Software draw. 6642 // Software draw.
6643 DrawFrame(); 6643 DrawFrame();
6644 6644
6645 EXPECT_FALSE(host_impl_->output_surface()->context_provider()); 6645 EXPECT_FALSE(host_impl_->output_surface()->context_provider());
6646 6646
6647 // DeferredInitialize and hardware draw. 6647 // DeferredInitialize and hardware draw.
6648 did_update_renderer_capabilities_ = false; 6648 did_update_renderer_capabilities_ = false;
6649 EXPECT_TRUE( 6649 EXPECT_TRUE(output_surface_->InitializeAndSetContext3d(
6650 output_surface_->InitializeAndSetContext3d(onscreen_context_provider_)); 6650 onscreen_context_provider_, nullptr));
6651 EXPECT_EQ(onscreen_context_provider_.get(), 6651 EXPECT_EQ(onscreen_context_provider_.get(),
6652 host_impl_->output_surface()->context_provider()); 6652 host_impl_->output_surface()->context_provider());
6653 EXPECT_TRUE(did_update_renderer_capabilities_); 6653 EXPECT_TRUE(did_update_renderer_capabilities_);
6654 6654
6655 // Defer intialized GL draw. 6655 // Defer intialized GL draw.
6656 DrawFrame(); 6656 DrawFrame();
6657 6657
6658 // Revert back to software. 6658 // Revert back to software.
6659 did_update_renderer_capabilities_ = false; 6659 did_update_renderer_capabilities_ = false;
6660 output_surface_->ReleaseGL(); 6660 output_surface_->ReleaseGL();
6661 EXPECT_FALSE(host_impl_->output_surface()->context_provider()); 6661 EXPECT_FALSE(host_impl_->output_surface()->context_provider());
6662 EXPECT_TRUE(did_update_renderer_capabilities_); 6662 EXPECT_TRUE(did_update_renderer_capabilities_);
6663 6663
6664 // Software draw again. 6664 // Software draw again.
6665 DrawFrame(); 6665 DrawFrame();
6666 } 6666 }
6667 6667
6668 TEST_F(LayerTreeHostImplTestDeferredInitialize, Fails) { 6668 TEST_F(LayerTreeHostImplTestDeferredInitialize, Fails) {
6669 // Software draw. 6669 // Software draw.
6670 DrawFrame(); 6670 DrawFrame();
6671 6671
6672 // Fail initialization of the onscreen context before the OutputSurface binds 6672 // Fail initialization of the onscreen context before the OutputSurface binds
6673 // it to the thread. 6673 // it to the thread.
6674 onscreen_context_provider_->UnboundTestContext3d()->set_context_lost(true); 6674 onscreen_context_provider_->UnboundTestContext3d()->set_context_lost(true);
6675 6675
6676 EXPECT_FALSE(host_impl_->output_surface()->context_provider()); 6676 EXPECT_FALSE(host_impl_->output_surface()->context_provider());
6677 6677
6678 // DeferredInitialize fails. 6678 // DeferredInitialize fails.
6679 did_update_renderer_capabilities_ = false; 6679 did_update_renderer_capabilities_ = false;
6680 EXPECT_FALSE( 6680 EXPECT_FALSE(output_surface_->InitializeAndSetContext3d(
6681 output_surface_->InitializeAndSetContext3d(onscreen_context_provider_)); 6681 onscreen_context_provider_, nullptr));
6682 EXPECT_FALSE(host_impl_->output_surface()->context_provider()); 6682 EXPECT_FALSE(host_impl_->output_surface()->context_provider());
6683 EXPECT_FALSE(did_update_renderer_capabilities_); 6683 EXPECT_FALSE(did_update_renderer_capabilities_);
6684 6684
6685 // Software draw again. 6685 // Software draw again.
6686 DrawFrame(); 6686 DrawFrame();
6687 } 6687 }
6688 6688
6689 // Checks that we have a non-0 default allocation if we pass a context that 6689 // Checks that we have a non-0 default allocation if we pass a context that
6690 // doesn't support memory management extensions. 6690 // doesn't support memory management extensions.
6691 TEST_F(LayerTreeHostImplTest, DefaultMemoryAllocation) { 6691 TEST_F(LayerTreeHostImplTest, DefaultMemoryAllocation) {
(...skipping 1543 matching lines...) Expand 10 before | Expand all | Expand 10 after
8235 // surface. 8235 // surface.
8236 EXPECT_EQ(0, num_lost_surfaces_); 8236 EXPECT_EQ(0, num_lost_surfaces_);
8237 host_impl_->DidLoseOutputSurface(); 8237 host_impl_->DidLoseOutputSurface();
8238 EXPECT_EQ(1, num_lost_surfaces_); 8238 EXPECT_EQ(1, num_lost_surfaces_);
8239 host_impl_->DidLoseOutputSurface(); 8239 host_impl_->DidLoseOutputSurface();
8240 EXPECT_LE(1, num_lost_surfaces_); 8240 EXPECT_LE(1, num_lost_surfaces_);
8241 } 8241 }
8242 8242
8243 } // namespace 8243 } // namespace
8244 } // namespace cc 8244 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698