Index: cc/raster/gpu_raster_buffer_provider.h |
diff --git a/cc/raster/gpu_raster_buffer_provider.h b/cc/raster/gpu_raster_buffer_provider.h |
index 3bbc806d59fe535be0ac26412976755b7d4b94ce..eca5db2367389b5f0ca137642fe882cea0c918e8 100644 |
--- a/cc/raster/gpu_raster_buffer_provider.h |
+++ b/cc/raster/gpu_raster_buffer_provider.h |
@@ -9,11 +9,12 @@ |
#include "base/macros.h" |
#include "cc/raster/raster_buffer_provider.h" |
+#include "cc/resources/resource_provider.h" |
+#include "gpu/command_buffer/common/sync_token.h" |
namespace cc { |
class ContextProvider; |
class GpuRasterizer; |
-class ResourceProvider; |
class CC_EXPORT GpuRasterBufferProvider : public RasterBufferProvider { |
public: |
@@ -23,7 +24,8 @@ class CC_EXPORT GpuRasterBufferProvider : public RasterBufferProvider { |
ContextProvider* context_provider, |
ResourceProvider* resource_provider, |
bool use_distance_field_text, |
- int gpu_rasterization_msaa_sample_count); |
+ int gpu_rasterization_msaa_sample_count, |
+ bool async_worker_context_enabled); |
// Overridden from RasterBufferProvider: |
std::unique_ptr<RasterBuffer> AcquireBufferForRaster( |
@@ -36,13 +38,26 @@ class CC_EXPORT GpuRasterBufferProvider : public RasterBufferProvider { |
bool GetResourceRequiresSwizzle(bool must_support_alpha) const override; |
void Shutdown() override; |
+ void PlaybackOnWorkerThread( |
+ ResourceProvider::ScopedWriteLockGr* lock, |
+ bool resource_has_previous_content, |
+ const RasterSource* raster_source, |
+ const gfx::Rect& raster_full_rect, |
+ const gfx::Rect& raster_dirty_rect, |
+ uint64_t new_content_id, |
+ float scale, |
+ const RasterSource::PlaybackSettings& playback_settings); |
+ |
private: |
GpuRasterBufferProvider(ContextProvider* context_provider, |
ResourceProvider* resource_provider, |
bool use_distance_field_text, |
- int gpu_rasterization_msaa_sample_count); |
+ int gpu_rasterization_msaa_sample_count, |
+ bool async_worker_context_enabled); |
std::unique_ptr<GpuRasterizer> rasterizer_; |
+ bool async_worker_context_enabled_; |
+ gpu::SyncToken sync_token_; |
DISALLOW_COPY_AND_ASSIGN(GpuRasterBufferProvider); |
}; |