[go: nahoru, domu]

cc: Remove support for non-async compositor worker mode.

This change removes compositor worker GLES2 ContextGroup sharing in the Browser
Compositor, and makes async compositor worker mode the only supported mode.

Bug: 796734,757607
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I2d3713b8948b5db2d9a437733f4bf58309f2f36e
Reviewed-on: https://chromium-review.googlesource.com/838243
Commit-Queue: Victor Miura <vmiura@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525598}
diff --git a/cc/raster/gpu_raster_buffer_provider.cc b/cc/raster/gpu_raster_buffer_provider.cc
index 3b12a6c3..d7fb043 100644
--- a/cc/raster/gpu_raster_buffer_provider.cc
+++ b/cc/raster/gpu_raster_buffer_provider.cc
@@ -172,7 +172,6 @@
     bool use_distance_field_text,
     int gpu_rasterization_msaa_sample_count,
     viz::ResourceFormat preferred_tile_format,
-    bool async_worker_context_enabled,
     bool enable_oop_rasterization)
     : compositor_context_provider_(compositor_context_provider),
       worker_context_provider_(worker_context_provider),
@@ -180,7 +179,6 @@
       use_distance_field_text_(use_distance_field_text),
       msaa_sample_count_(gpu_rasterization_msaa_sample_count),
       preferred_tile_format_(preferred_tile_format),
-      async_worker_context_enabled_(async_worker_context_enabled),
       enable_oop_rasterization_(enable_oop_rasterization) {
   DCHECK(compositor_context_provider);
   DCHECK(worker_context_provider);
@@ -204,19 +202,14 @@
   TRACE_EVENT0("cc", "GpuRasterBufferProvider::OrderingBarrier");
 
   gpu::gles2::GLES2Interface* gl = compositor_context_provider_->ContextGL();
-  if (async_worker_context_enabled_) {
-    gpu::SyncToken sync_token = ResourceProvider::GenerateSyncTokenHelper(gl);
-    for (RasterBufferImpl* buffer : pending_raster_buffers_)
-      buffer->set_sync_token(sync_token);
-  } else {
-    gl->OrderingBarrierCHROMIUM();
-  }
+  gpu::SyncToken sync_token = ResourceProvider::GenerateSyncTokenHelper(gl);
+  for (RasterBufferImpl* buffer : pending_raster_buffers_)
+    buffer->set_sync_token(sync_token);
   pending_raster_buffers_.clear();
 }
 
 void GpuRasterBufferProvider::Flush() {
-  if (async_worker_context_enabled_)
-    compositor_context_provider_->ContextSupport()->FlushPendingWork();
+  compositor_context_provider_->ContextSupport()->FlushPendingWork();
 }
 
 viz::ResourceFormat GpuRasterBufferProvider::GetResourceFormat(
@@ -246,9 +239,6 @@
 
 bool GpuRasterBufferProvider::IsResourceReadyToDraw(
     viz::ResourceId resource_id) const {
-  if (!async_worker_context_enabled_)
-    return true;
-
   gpu::SyncToken sync_token =
       resource_provider_->GetSyncTokenForResources({resource_id});
   if (!sync_token.HasData())
@@ -263,9 +253,6 @@
     const ResourceProvider::ResourceIdArray& resource_ids,
     const base::Closure& callback,
     uint64_t pending_callback_id) const {
-  if (!async_worker_context_enabled_)
-    return 0;
-
   gpu::SyncToken sync_token =
       resource_provider_->GetSyncTokenForResources(resource_ids);
   uint64_t callback_id = sync_token.release_count();
@@ -343,11 +330,6 @@
 
   // Generate sync token for cross context synchronization.
   resource_lock->set_sync_token(ResourceProvider::GenerateSyncTokenHelper(ri));
-
-  // Mark resource as synchronized when worker and compositor are in same stream
-  // to prevent extra wait sync token calls.
-  if (!async_worker_context_enabled_)
-    resource_lock->set_synchronized();
 }
 
 }  // namespace cc