Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(337)

Side by Side Diff: cc/resources/tile_manager.cc

Issue 83883002: cc: Allow TEXTURE_RECTANGLE_ARB to be used for tile textures. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/resources/tile_manager.h" 5 #include "cc/resources/tile_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 10
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 } 189 }
190 190
191 TileManager::TileManager( 191 TileManager::TileManager(
192 TileManagerClient* client, 192 TileManagerClient* client,
193 ResourceProvider* resource_provider, 193 ResourceProvider* resource_provider,
194 scoped_ptr<RasterWorkerPool> raster_worker_pool, 194 scoped_ptr<RasterWorkerPool> raster_worker_pool,
195 size_t num_raster_threads, 195 size_t num_raster_threads,
196 size_t max_raster_usage_bytes, 196 size_t max_raster_usage_bytes,
197 RenderingStatsInstrumentation* rendering_stats_instrumentation) 197 RenderingStatsInstrumentation* rendering_stats_instrumentation)
198 : client_(client), 198 : client_(client),
199 resource_pool_(ResourcePool::Create(resource_provider)), 199 resource_pool_(ResourcePool::Create(
200 resource_provider,
201 raster_worker_pool->GetResourceTarget(),
202 raster_worker_pool->GetResourceFormat())),
200 raster_worker_pool_(raster_worker_pool.Pass()), 203 raster_worker_pool_(raster_worker_pool.Pass()),
201 prioritized_tiles_dirty_(false), 204 prioritized_tiles_dirty_(false),
202 all_tiles_that_need_to_be_rasterized_have_memory_(true), 205 all_tiles_that_need_to_be_rasterized_have_memory_(true),
203 all_tiles_required_for_activation_have_memory_(true), 206 all_tiles_required_for_activation_have_memory_(true),
204 memory_required_bytes_(0), 207 memory_required_bytes_(0),
205 memory_nice_to_have_bytes_(0), 208 memory_nice_to_have_bytes_(0),
206 bytes_releasable_(0), 209 bytes_releasable_(0),
207 resources_releasable_(0), 210 resources_releasable_(0),
208 max_raster_usage_bytes_(max_raster_usage_bytes), 211 max_raster_usage_bytes_(max_raster_usage_bytes),
209 ever_exceeded_memory_budget_(false), 212 ever_exceeded_memory_budget_(false),
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
837 base::Bind(&TileManager::OnImageDecodeTaskCompleted, 840 base::Bind(&TileManager::OnImageDecodeTaskCompleted,
838 base::Unretained(this), 841 base::Unretained(this),
839 tile->layer_id(), 842 tile->layer_id(),
840 base::Unretained(pixel_ref))); 843 base::Unretained(pixel_ref)));
841 } 844 }
842 845
843 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) { 846 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) {
844 ManagedTileState& mts = tile->managed_state(); 847 ManagedTileState& mts = tile->managed_state();
845 848
846 scoped_ptr<ResourcePool::Resource> resource = 849 scoped_ptr<ResourcePool::Resource> resource =
847 resource_pool_->AcquireResource( 850 resource_pool_->AcquireResource(tile->tile_size_.size());
848 tile->tile_size_.size(),
849 raster_worker_pool_->GetResourceFormat());
850 const Resource* const_resource = resource.get(); 851 const Resource* const_resource = resource.get();
851 852
852 // Create and queue all image decode tasks that this tile depends on. 853 // Create and queue all image decode tasks that this tile depends on.
853 RasterWorkerPool::Task::Set decode_tasks; 854 RasterWorkerPool::Task::Set decode_tasks;
854 PixelRefTaskMap& existing_pixel_refs = image_decode_tasks_[tile->layer_id()]; 855 PixelRefTaskMap& existing_pixel_refs = image_decode_tasks_[tile->layer_id()];
855 for (PicturePileImpl::PixelRefIterator iter(tile->content_rect(), 856 for (PicturePileImpl::PixelRefIterator iter(tile->content_rect(),
856 tile->contents_scale(), 857 tile->contents_scale(),
857 tile->picture_pile()); 858 tile->picture_pile());
858 iter; ++iter) { 859 iter; ++iter) {
859 skia::LazyPixelRef* pixel_ref = *iter; 860 skia::LazyPixelRef* pixel_ref = *iter;
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 can_use_lcd_text)); 980 can_use_lcd_text));
980 DCHECK(tiles_.find(tile->id()) == tiles_.end()); 981 DCHECK(tiles_.find(tile->id()) == tiles_.end());
981 982
982 tiles_[tile->id()] = tile; 983 tiles_[tile->id()] = tile;
983 used_layer_counts_[tile->layer_id()]++; 984 used_layer_counts_[tile->layer_id()]++;
984 prioritized_tiles_dirty_ = true; 985 prioritized_tiles_dirty_ = true;
985 return tile; 986 return tile;
986 } 987 }
987 988
988 } // namespace cc 989 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698