| Index: cc/raster/zero_copy_tile_task_worker_pool.cc
|
| diff --git a/cc/raster/zero_copy_tile_task_worker_pool.cc b/cc/raster/zero_copy_tile_task_worker_pool.cc
|
| index 2e3dca1407f3358802bbd612554bf5f22ea46c4d..0a6e80e7d1c0880f7476c5a3b5f384a6f4981b8c 100644
|
| --- a/cc/raster/zero_copy_tile_task_worker_pool.cc
|
| +++ b/cc/raster/zero_copy_tile_task_worker_pool.cc
|
| @@ -65,21 +65,24 @@ class RasterBufferImpl : public RasterBuffer {
|
| scoped_ptr<TileTaskWorkerPool> ZeroCopyTileTaskWorkerPool::Create(
|
| base::SequencedTaskRunner* task_runner,
|
| TaskGraphRunner* task_graph_runner,
|
| - ResourceProvider* resource_provider) {
|
| + ResourceProvider* resource_provider,
|
| + bool use_rgba_4444_texture_format) {
|
| return make_scoped_ptr<TileTaskWorkerPool>(new ZeroCopyTileTaskWorkerPool(
|
| - task_runner, task_graph_runner, resource_provider));
|
| + task_runner, task_graph_runner, resource_provider,
|
| + use_rgba_4444_texture_format));
|
| }
|
|
|
| ZeroCopyTileTaskWorkerPool::ZeroCopyTileTaskWorkerPool(
|
| base::SequencedTaskRunner* task_runner,
|
| TaskGraphRunner* task_graph_runner,
|
| - ResourceProvider* resource_provider)
|
| + ResourceProvider* resource_provider,
|
| + bool use_rgba_4444_texture_format)
|
| : task_runner_(task_runner),
|
| task_graph_runner_(task_graph_runner),
|
| namespace_token_(task_graph_runner->GetNamespaceToken()),
|
| resource_provider_(resource_provider),
|
| - task_set_finished_weak_ptr_factory_(this) {
|
| -}
|
| + use_rgba_4444_texture_format_(use_rgba_4444_texture_format),
|
| + task_set_finished_weak_ptr_factory_(this) {}
|
|
|
| ZeroCopyTileTaskWorkerPool::~ZeroCopyTileTaskWorkerPool() {
|
| }
|
| @@ -179,12 +182,17 @@ void ZeroCopyTileTaskWorkerPool::CheckForCompletedTasks() {
|
| completed_tasks_.clear();
|
| }
|
|
|
| -ResourceFormat ZeroCopyTileTaskWorkerPool::GetResourceFormat() const {
|
| - return resource_provider_->memory_efficient_texture_format();
|
| +ResourceFormat ZeroCopyTileTaskWorkerPool::GetResourceFormat(
|
| + bool must_support_alpha) const {
|
| + return use_rgba_4444_texture_format_
|
| + ? RGBA_4444
|
| + : resource_provider_->best_texture_format();
|
| }
|
|
|
| -bool ZeroCopyTileTaskWorkerPool::GetResourceRequiresSwizzle() const {
|
| - return !PlatformColor::SameComponentOrder(GetResourceFormat());
|
| +bool ZeroCopyTileTaskWorkerPool::GetResourceRequiresSwizzle(
|
| + bool must_support_alpha) const {
|
| + return !PlatformColor::SameComponentOrder(
|
| + GetResourceFormat(must_support_alpha));
|
| }
|
|
|
| scoped_ptr<RasterBuffer> ZeroCopyTileTaskWorkerPool::AcquireBufferForRaster(
|
|
|