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

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 2007593005: Remove the concept of OutputSurface from ResourceProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: resourceprovider-no-outputsurface: moreccptcompile Created 4 years, 7 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/test/pixel_test.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.cc
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 69390490f79c3e722140f0ea03ad04ad1cf81c26..8983b5b0103156b55a2efb3cae7bca266456d6db 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -2196,8 +2196,9 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
// resolved.
CHECK(resource_provider_);
- ContextProvider* context_provider = output_surface_->context_provider();
- if (!context_provider) {
+ ContextProvider* compositor_context_provider =
+ output_surface_->context_provider();
+ if (!compositor_context_provider) {
*resource_pool =
ResourcePool::Create(resource_provider_.get(), GetTaskRunner());
@@ -2206,17 +2207,20 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
return;
}
+ ContextProvider* worker_context_provider =
+ output_surface_->worker_context_provider();
if (use_gpu_rasterization_) {
- DCHECK(resource_provider_->output_surface()->worker_context_provider());
+ DCHECK(worker_context_provider);
*resource_pool =
ResourcePool::Create(resource_provider_.get(), GetTaskRunner());
int msaa_sample_count = use_msaa_ ? RequestedMSAASampleCount() : 0;
- *raster_buffer_provider = GpuRasterBufferProvider::Create(
- context_provider, resource_provider_.get(),
- settings_.use_distance_field_text, msaa_sample_count);
+ *raster_buffer_provider = base::MakeUnique<GpuRasterBufferProvider>(
+ compositor_context_provider, worker_context_provider,
+ resource_provider_.get(), settings_.use_distance_field_text,
+ msaa_sample_count);
return;
}
@@ -2225,7 +2229,7 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
bool use_zero_copy = settings_.use_zero_copy;
// TODO(reveman): Remove this when mojo supports worker contexts.
// crbug.com/522440
- if (!resource_provider_->output_surface()->worker_context_provider()) {
+ if (!worker_context_provider) {
LOG(ERROR)
<< "Forcing zero-copy tile initialization as worker context is missing";
use_zero_copy = true;
@@ -2245,12 +2249,13 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
ResourcePool::Create(resource_provider_.get(), GetTaskRunner());
const int max_copy_texture_chromium_size =
- context_provider->ContextCapabilities().max_copy_texture_chromium_size;
+ compositor_context_provider->ContextCapabilities()
+ .max_copy_texture_chromium_size;
- *raster_buffer_provider = OneCopyRasterBufferProvider::Create(
- GetTaskRunner(), context_provider, resource_provider_.get(),
- max_copy_texture_chromium_size, settings_.use_partial_raster,
- settings_.max_staging_buffer_usage_in_bytes,
+ *raster_buffer_provider = base::MakeUnique<OneCopyRasterBufferProvider>(
+ GetTaskRunner(), compositor_context_provider, worker_context_provider,
+ resource_provider_.get(), max_copy_texture_chromium_size,
+ settings_.use_partial_raster, settings_.max_staging_buffer_usage_in_bytes,
settings_.renderer_settings.preferred_tile_format);
}
@@ -2307,11 +2312,13 @@ bool LayerTreeHostImpl::InitializeRenderer(OutputSurface* output_surface) {
}
output_surface_ = output_surface;
- resource_provider_ = ResourceProvider::Create(
- output_surface_, shared_bitmap_manager_, gpu_memory_buffer_manager_,
+ resource_provider_ = base::MakeUnique<ResourceProvider>(
+ output_surface_->context_provider(), shared_bitmap_manager_,
+ gpu_memory_buffer_manager_,
task_runner_provider_->blocking_main_thread_task_runner(),
settings_.renderer_settings.highp_threshold_min,
settings_.renderer_settings.texture_id_allocation_chunk_size,
+ output_surface_->capabilities().delegated_sync_points_required,
settings_.renderer_settings.use_gpu_memory_buffer_resources,
settings_.use_image_texture_targets);
« no previous file with comments | « cc/test/pixel_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698