Index: cc/resources/image_raster_worker_pool.cc |
diff --git a/cc/resources/image_raster_worker_pool.cc b/cc/resources/image_raster_worker_pool.cc |
index 9ce8c6f5a8d194459d12cb3077a1b406091579c8..007c1ed83f38437a16c95092b6924db3eb180aed 100644 |
--- a/cc/resources/image_raster_worker_pool.cc |
+++ b/cc/resources/image_raster_worker_pool.cc |
@@ -151,6 +151,11 @@ SkCanvas* ImageRasterWorkerPool::AcquireCanvasForRaster(RasterTask* task) { |
void ImageRasterWorkerPool::ReleaseCanvasForRaster(RasterTask* task) { |
resource_provider_->UnmapImageRasterBuffer(task->resource()->id()); |
+ |
+ // Map/UnmapImageRasterBuffer provides direct access to the memory used by the |
+ // GPU. Read lock fences are required to ensure that we're not trying to map a |
+ // resource that is currently in-use by the GPU. |
+ resource_provider_->EnableReadLockFences(task->resource()->id(), true); |
} |
void ImageRasterWorkerPool::OnRasterFinished() { |