Index: cc/raster/one_copy_raster_buffer_provider.h |
diff --git a/cc/raster/one_copy_raster_buffer_provider.h b/cc/raster/one_copy_raster_buffer_provider.h |
index d30c3b59a6f8dc472305745898bcb8c32163630a..8b0472639a8e779fde11e67e7dca05415e6a6977 100644 |
--- a/cc/raster/one_copy_raster_buffer_provider.h |
+++ b/cc/raster/one_copy_raster_buffer_provider.h |
@@ -12,6 +12,7 @@ |
#include "cc/raster/raster_buffer_provider.h" |
#include "cc/raster/staging_buffer_pool.h" |
#include "cc/resources/resource_provider.h" |
+#include "gpu/command_buffer/common/sync_token.h" |
namespace cc { |
struct StagingBuffer; |
@@ -27,7 +28,8 @@ class CC_EXPORT OneCopyRasterBufferProvider : public RasterBufferProvider { |
int max_copy_texture_chromium_size, |
bool use_partial_raster, |
int max_staging_buffer_usage_in_bytes, |
- ResourceFormat preferred_tile_format); |
+ ResourceFormat preferred_tile_format, |
+ bool async_worker_context_enabled); |
~OneCopyRasterBufferProvider() override; |
// Overridden from RasterBufferProvider: |
@@ -45,6 +47,7 @@ class CC_EXPORT OneCopyRasterBufferProvider : public RasterBufferProvider { |
void PlaybackAndCopyOnWorkerThread( |
const Resource* resource, |
ResourceProvider::ScopedWriteLockGL* resource_lock, |
+ const gpu::SyncToken& sync_token, |
const RasterSource* raster_source, |
const gfx::Rect& raster_full_rect, |
const gfx::Rect& raster_dirty_rect, |
@@ -65,8 +68,8 @@ class CC_EXPORT OneCopyRasterBufferProvider : public RasterBufferProvider { |
uint64_t previous_content_id, |
uint64_t new_content_id); |
void CopyOnWorkerThread(StagingBuffer* staging_buffer, |
- const Resource* resource, |
ResourceProvider::ScopedWriteLockGL* resource_lock, |
+ const gpu::SyncToken& sync_token, |
const RasterSource* raster_source, |
uint64_t previous_content_id, |
uint64_t new_content_id); |
@@ -75,14 +78,18 @@ class CC_EXPORT OneCopyRasterBufferProvider : public RasterBufferProvider { |
ContextProvider* const worker_context_provider_; |
ResourceProvider* const resource_provider_; |
const int max_bytes_per_copy_operation_; |
- bool use_partial_raster_; |
+ const bool use_partial_raster_; |
// Context lock must be acquired when accessing this member. |
int bytes_scheduled_since_last_flush_; |
- ResourceFormat preferred_tile_format_; |
+ const ResourceFormat preferred_tile_format_; |
StagingBufferPool staging_pool_; |
+ const bool async_worker_context_enabled_; |
+ |
+ std::set<RasterBuffer*> pending_raster_buffers_; |
+ |
DISALLOW_COPY_AND_ASSIGN(OneCopyRasterBufferProvider); |
}; |