| Index: cc/raster/one_copy_raster_buffer_provider.cc
|
| diff --git a/cc/raster/one_copy_raster_buffer_provider.cc b/cc/raster/one_copy_raster_buffer_provider.cc
|
| index 44e38458cb05731b40a769f3a390a7b10bd40c85..9b97b723df37939277750d3b08db262546797907 100644
|
| --- a/cc/raster/one_copy_raster_buffer_provider.cc
|
| +++ b/cc/raster/one_copy_raster_buffer_provider.cc
|
| @@ -216,10 +216,7 @@ void OneCopyRasterBufferProvider::PlaybackToStagingBuffer(
|
| resource_provider_->gpu_memory_buffer_manager()
|
| ->AllocateGpuMemoryBuffer(
|
| staging_buffer->size, BufferFormat(resource->format()),
|
| - use_partial_raster_
|
| - ? gfx::BufferUsage::GPU_READ_CPU_READ_WRITE_PERSISTENT
|
| - : gfx::BufferUsage::GPU_READ_CPU_READ_WRITE,
|
| - gpu::kNullSurfaceHandle);
|
| + StagingBufferUsage(), gpu::kNullSurfaceHandle);
|
| }
|
|
|
| gfx::Rect playback_rect = raster_full_rect;
|
| @@ -280,8 +277,8 @@ void OneCopyRasterBufferProvider::CopyOnWorkerThread(
|
| gl, resource_lock, async_worker_context_enabled_);
|
|
|
| unsigned resource_texture_id = scoped_texture.texture_id();
|
| - unsigned image_target =
|
| - resource_provider_->GetImageTextureTarget(resource_lock->format());
|
| + unsigned image_target = resource_provider_->GetImageTextureTarget(
|
| + StagingBufferUsage(), staging_buffer->format);
|
|
|
| // Create and bind staging texture.
|
| if (!staging_buffer->texture_id) {
|
| @@ -380,4 +377,10 @@ void OneCopyRasterBufferProvider::CopyOnWorkerThread(
|
| resource_lock->set_synchronized(!async_worker_context_enabled_);
|
| }
|
|
|
| +gfx::BufferUsage OneCopyRasterBufferProvider::StagingBufferUsage() const {
|
| + return use_partial_raster_
|
| + ? gfx::BufferUsage::GPU_READ_CPU_READ_WRITE_PERSISTENT
|
| + : gfx::BufferUsage::GPU_READ_CPU_READ_WRITE;
|
| +}
|
| +
|
| } // namespace cc
|
|
|