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 b6aea8341a2cef3b899a5e3cac373b79133a71b0..4c045446794501926bb742c265fd93d2e1d69984 100644 |
--- a/cc/raster/gpu_raster_buffer_provider.h |
+++ b/cc/raster/gpu_raster_buffer_provider.h |
@@ -9,11 +9,11 @@ |
#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: |
@@ -21,7 +21,8 @@ class CC_EXPORT GpuRasterBufferProvider : public RasterBufferProvider { |
ContextProvider* worker_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); |
~GpuRasterBufferProvider() override; |
// Overridden from RasterBufferProvider: |
@@ -35,9 +36,26 @@ class CC_EXPORT GpuRasterBufferProvider : public RasterBufferProvider { |
bool GetResourceRequiresSwizzle(bool must_support_alpha) const override; |
void Shutdown() override; |
+ void PlaybackOnWorkerThread( |
+ ResourceProvider::ScopedWriteLockGL* resource_lock, |
+ const gpu::SyncToken& sync_token, |
+ 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: |
ContextProvider* const compositor_context_provider_; |
- std::unique_ptr<GpuRasterizer> rasterizer_; |
+ ContextProvider* const worker_context_provider_; |
+ ResourceProvider* const resource_provider_; |
+ const bool use_distance_field_text_; |
+ const int msaa_sample_count_; |
+ const bool async_worker_context_enabled_; |
+ |
+ std::set<RasterBuffer*> pending_raster_buffers_; |
DISALLOW_COPY_AND_ASSIGN(GpuRasterBufferProvider); |
}; |