| Index: cc/tiles/tile_manager.cc
 | 
| diff --git a/cc/tiles/tile_manager.cc b/cc/tiles/tile_manager.cc
 | 
| index 6f798e67c6a822ba173ffa0439fad3bbca6a4d64..f682893c402efb9b839ed9b83db53b9acf26f5f1 100644
 | 
| --- a/cc/tiles/tile_manager.cc
 | 
| +++ b/cc/tiles/tile_manager.cc
 | 
| @@ -527,7 +527,7 @@ void TileManager::AssignGpuMemoryToTiles(
 | 
|      MemoryUsage memory_required_by_tile_to_be_scheduled;
 | 
|      if (!tile->raster_task_.get()) {
 | 
|        memory_required_by_tile_to_be_scheduled = MemoryUsage::FromConfig(
 | 
| -          tile->desired_texture_size(), tile_task_runner_->GetResourceFormat());
 | 
| +          tile->desired_texture_size(), DetermineResourceFormat(tile));
 | 
|      }
 | 
|  
 | 
|      bool tile_is_needed_now = priority.priority_bin == TilePriority::NOW;
 | 
| @@ -667,12 +667,12 @@ scoped_refptr<RasterTask> TileManager::CreateRasterTask(
 | 
|    }
 | 
|    if (resource) {
 | 
|      resource_content_id = tile->invalidated_id();
 | 
| -    DCHECK_EQ(tile_task_runner_->GetResourceFormat(), resource->format());
 | 
| +    DCHECK_EQ(DetermineResourceFormat(tile), resource->format());
 | 
|      DCHECK_EQ(tile->desired_texture_size().ToString(),
 | 
|                resource->size().ToString());
 | 
|    } else {
 | 
| -    resource = resource_pool_->AcquireResource(
 | 
| -        tile->desired_texture_size(), tile_task_runner_->GetResourceFormat());
 | 
| +    resource = resource_pool_->AcquireResource(tile->desired_texture_size(),
 | 
| +                                               DetermineResourceFormat(tile));
 | 
|    }
 | 
|  
 | 
|    // Create and queue all image decode tasks that this tile depends on.
 | 
| @@ -737,8 +737,7 @@ void TileManager::UpdateTileDrawInfo(
 | 
|      DCHECK(resource);
 | 
|      draw_info.set_use_resource();
 | 
|      draw_info.resource_ = resource;
 | 
| -    draw_info.contents_swizzled_ =
 | 
| -        tile_task_runner_->GetResourceRequiresSwizzle();
 | 
| +    draw_info.contents_swizzled_ = DetermineResourceRequiresSwizzle(tile);
 | 
|    }
 | 
|    DCHECK(draw_info.IsReadyToDraw());
 | 
|    draw_info.set_was_ever_ready_to_draw();
 | 
| @@ -919,6 +918,14 @@ void TileManager::CheckIfMoreTilesNeedToBePrepared() {
 | 
|    signals_check_notifier_.Schedule();
 | 
|  }
 | 
|  
 | 
| +ResourceFormat TileManager::DetermineResourceFormat(const Tile* tile) const {
 | 
| +  return tile_task_runner_->GetResourceFormat(!tile->is_opaque());
 | 
| +}
 | 
| +
 | 
| +bool TileManager::DetermineResourceRequiresSwizzle(const Tile* tile) const {
 | 
| +  return tile_task_runner_->GetResourceRequiresSwizzle(!tile->is_opaque());
 | 
| +}
 | 
| +
 | 
|  TileManager::MemoryUsage::MemoryUsage() : memory_bytes_(0), resource_count_(0) {
 | 
|  }
 | 
|  
 | 
| 
 |