Index: cc/resources/resource_provider.h |
diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h |
index ad5589c1c8b2605d1025e3c2ee8f2e7e681afede..9853cb46084e4bcdfa91bc85366d3620cacff181 100644 |
--- a/cc/resources/resource_provider.h |
+++ b/cc/resources/resource_provider.h |
@@ -324,13 +324,14 @@ class CC_EXPORT ResourceProvider { |
SkCanvas* MapDirectRasterBuffer(ResourceId id); |
void UnmapDirectRasterBuffer(ResourceId id); |
- // Returns a canvas backed by an image buffer. |
+ // Returns a canvas backed by an image buffer. UnmapImageRasterBuffer |
+ // returns true if canvas was written to while mapped. |
// Rasterizing to the canvas writes the content into the image buffer, |
// which is internally bound to the underlying resource when read. |
// Call Unmap before the resource can be read or used for compositing. |
// It is used by ImageRasterWorkerPool. |
SkCanvas* MapImageRasterBuffer(ResourceId id); |
- void UnmapImageRasterBuffer(ResourceId id); |
+ bool UnmapImageRasterBuffer(ResourceId id); |
// Returns a canvas backed by pixel buffer. UnmapPixelRasterBuffer |
// returns true if canvas was written to while mapped. |
@@ -370,6 +371,9 @@ class CC_EXPORT ResourceProvider { |
// Indicates if we can currently lock this resource for write. |
bool CanLockForWrite(ResourceId id); |
+ // Copy pixels from source to destination. |
+ void CopyResource(ResourceId source_id, ResourceId dest_id); |
+ |
static GLint GetActiveTextureUnit(gpu::gles2::GLES2Interface* gl); |
private: |
@@ -409,6 +413,8 @@ class CC_EXPORT ResourceProvider { |
unsigned gl_pixel_buffer_id; |
// Query used to determine when asynchronous set pixels complete. |
unsigned gl_upload_query_id; |
+ // Query used to determine when read lock fence has passed. |
+ unsigned gl_read_lock_query_id; |
TextureMailbox mailbox; |
ReleaseCallback release_callback; |
uint8_t* pixels; |