Chromium Code Reviews| Index: cc/raster/one_copy_tile_task_worker_pool.h |
| diff --git a/cc/raster/one_copy_tile_task_worker_pool.h b/cc/raster/one_copy_tile_task_worker_pool.h |
| index 783d103c850ac1f44c008591ee8a7bbc44b50c65..f1c16a9ccfb0525fbf081b5db3f2942f53fc03f7 100644 |
| --- a/cc/raster/one_copy_tile_task_worker_pool.h |
| +++ b/cc/raster/one_copy_tile_task_worker_pool.h |
| @@ -49,7 +49,8 @@ class CC_EXPORT OneCopyTileTaskWorkerPool |
| ResourceProvider* resource_provider, |
| int max_copy_texture_chromium_size, |
| bool use_persistent_gpu_memory_buffers, |
| - int max_staging_buffer_usage_in_bytes); |
| + int max_staging_buffer_usage_in_bytes, |
| + bool use_rgba_4444_texture_format); |
| // Overridden from TileTaskWorkerPool: |
| TileTaskRunner* AsTileTaskRunner() override; |
| @@ -59,8 +60,8 @@ class CC_EXPORT OneCopyTileTaskWorkerPool |
| void Shutdown() override; |
| void ScheduleTasks(TileTaskQueue* queue) override; |
| void CheckForCompletedTasks() override; |
| - ResourceFormat GetResourceFormat() const override; |
| - bool GetResourceRequiresSwizzle() const override; |
| + ResourceFormat GetResourceFormat(bool must_support_alpha) const override; |
| + bool GetResourceRequiresSwizzle(bool must_support_alpha) const override; |
| // Overridden from TileTaskClient: |
| scoped_ptr<RasterBuffer> AcquireBufferForRaster( |
| @@ -91,11 +92,12 @@ class CC_EXPORT OneCopyTileTaskWorkerPool |
| ResourceProvider* resource_provider, |
| int max_copy_texture_chromium_size, |
| bool use_persistent_gpu_memory_buffers, |
| - int max_staging_buffer_usage_in_bytes); |
| + int max_staging_buffer_usage_in_bytes, |
| + bool use_rgba_4444_texture_format); |
| private: |
| struct StagingBuffer { |
| - explicit StagingBuffer(const gfx::Size& size); |
| + explicit StagingBuffer(const gfx::Size& size, ResourceFormat format); |
|
reveman
2015/09/23 13:42:45
nit: can remove explicit
|
| ~StagingBuffer(); |
| void DestroyGLResources(gpu::gles2::GLES2Interface* gl); |
| @@ -104,6 +106,7 @@ class CC_EXPORT OneCopyTileTaskWorkerPool |
| bool is_free) const; |
| const gfx::Size size; |
| + const ResourceFormat format; |
| scoped_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer; |
| base::TimeTicks last_usage; |
| unsigned texture_id; |
| @@ -112,7 +115,8 @@ class CC_EXPORT OneCopyTileTaskWorkerPool |
| uint64_t content_id; |
| }; |
| - void AddStagingBuffer(const StagingBuffer* staging_buffer); |
| + void AddStagingBuffer(const StagingBuffer* staging_buffer, |
| + ResourceFormat format); |
| void RemoveStagingBuffer(const StagingBuffer* staging_buffer); |
| void MarkStagingBufferAsFree(const StagingBuffer* staging_buffer); |
| void MarkStagingBufferAsBusy(const StagingBuffer* staging_buffer); |
| @@ -153,6 +157,7 @@ class CC_EXPORT OneCopyTileTaskWorkerPool |
| StagingBufferDeque busy_buffers_; |
| int bytes_scheduled_since_last_flush_; |
| const int max_staging_buffer_usage_in_bytes_; |
| + bool use_rgba_4444_texture_format_; |
| int staging_buffer_usage_in_bytes_; |
| int free_staging_buffer_usage_in_bytes_; |
| const base::TimeDelta staging_buffer_expiration_delay_; |