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

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 1356463002: Revert of cc: Implement shared worker contexts. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_impl.cc
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 45cd0c8b4e809780b8779247ecd53aeea3aa2be2..a7af98350fd28eef53eb393b8b3b37f2b268f78c 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -172,7 +172,6 @@
: client_(client),
proxy_(proxy),
current_begin_frame_tracker_(BEGINFRAMETRACKER_FROM_HERE),
- output_surface_(nullptr),
content_is_suitable_for_gpu_rasterization_(true),
has_gpu_rasterization_trigger_(false),
use_gpu_rasterization_(false),
@@ -286,13 +285,6 @@
}
CleanUpTileManager();
- renderer_ = nullptr;
- resource_provider_ = nullptr;
-
- if (output_surface_) {
- output_surface_->DetachFromClient();
- output_surface_ = nullptr;
- }
}
void LayerTreeHostImpl::BeginMainFrameAborted(CommitEarlyOutReason reason) {
@@ -1570,7 +1562,7 @@
scoped_ptr<SoftwareRenderer> temp_software_renderer =
SoftwareRenderer::Create(this, &settings_.renderer_settings,
- output_surface_, NULL);
+ output_surface_.get(), NULL);
temp_software_renderer->DrawFrame(&frame->render_passes,
device_scale_factor_,
DeviceViewport(),
@@ -1632,7 +1624,7 @@
ContextProvider* context_provider =
output_surface_->worker_context_provider();
- ContextProvider::ScopedContextLock scoped_context(context_provider);
+ base::AutoLock context_lock(*context_provider->GetLock());
if (!context_provider->GrContext())
return false;
@@ -2016,18 +2008,18 @@
DCHECK(resource_provider_);
if (output_surface_->capabilities().delegated_rendering) {
- renderer_ =
- DelegatingRenderer::Create(this, &settings_.renderer_settings,
- output_surface_, resource_provider_.get());
+ renderer_ = DelegatingRenderer::Create(this, &settings_.renderer_settings,
+ output_surface_.get(),
+ resource_provider_.get());
} else if (output_surface_->context_provider()) {
renderer_ = GLRenderer::Create(
- this, &settings_.renderer_settings, output_surface_,
+ this, &settings_.renderer_settings, output_surface_.get(),
resource_provider_.get(), texture_mailbox_deleter_.get(),
settings_.renderer_settings.highp_threshold_min);
} else if (output_surface_->software_device()) {
- renderer_ =
- SoftwareRenderer::Create(this, &settings_.renderer_settings,
- output_surface_, resource_provider_.get());
+ renderer_ = SoftwareRenderer::Create(this, &settings_.renderer_settings,
+ output_surface_.get(),
+ resource_provider_.get());
}
DCHECK(renderer_);
@@ -2156,7 +2148,8 @@
single_thread_synchronous_task_graph_runner_ = nullptr;
}
-bool LayerTreeHostImpl::InitializeRenderer(OutputSurface* output_surface) {
+bool LayerTreeHostImpl::InitializeRenderer(
+ scoped_ptr<OutputSurface> output_surface) {
TRACE_EVENT0("cc", "LayerTreeHostImpl::InitializeRenderer");
// Since we will create a new resource provider, we cannot continue to use
@@ -2168,14 +2161,7 @@
renderer_ = nullptr;
CleanUpTileManager();
resource_provider_ = nullptr;
-
- // Detach from the old output surface and reset |output_surface_| pointer
- // as this surface is going to be destroyed independent of if binding the
- // new output surface succeeds or not.
- if (output_surface_) {
- output_surface_->DetachFromClient();
- output_surface_ = nullptr;
- }
+ output_surface_ = nullptr;
if (!output_surface->BindToClient(this)) {
// Avoid recreating tree resources because we might not have enough
@@ -2184,9 +2170,9 @@
return false;
}
- output_surface_ = output_surface;
+ output_surface_ = output_surface.Pass();
resource_provider_ = ResourceProvider::Create(
- output_surface_, shared_bitmap_manager_, gpu_memory_buffer_manager_,
+ output_surface_.get(), shared_bitmap_manager_, gpu_memory_buffer_manager_,
proxy_->blocking_main_thread_task_runner(),
settings_.renderer_settings.highp_threshold_min,
settings_.renderer_settings.use_rgba_4444_textures,
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698