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