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

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

Issue 21159007: cc: Adding support for RGBA_4444 tile textures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cleanup Created 7 years, 4 months 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
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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 GLenum texture_format) 129 GLenum texture_format)
130 : client_(client), 130 : client_(client),
131 resource_pool_(ResourcePool::Create(resource_provider)), 131 resource_pool_(ResourcePool::Create(resource_provider)),
132 raster_worker_pool_(raster_worker_pool.Pass()), 132 raster_worker_pool_(raster_worker_pool.Pass()),
133 all_tiles_that_need_to_be_rasterized_have_memory_(true), 133 all_tiles_that_need_to_be_rasterized_have_memory_(true),
134 all_tiles_required_for_activation_have_memory_(true), 134 all_tiles_required_for_activation_have_memory_(true),
135 all_tiles_required_for_activation_have_been_initialized_(true), 135 all_tiles_required_for_activation_have_been_initialized_(true),
136 ever_exceeded_memory_budget_(false), 136 ever_exceeded_memory_budget_(false),
137 rendering_stats_instrumentation_(rendering_stats_instrumentation), 137 rendering_stats_instrumentation_(rendering_stats_instrumentation),
138 did_initialize_visible_tile_(false), 138 did_initialize_visible_tile_(false),
139 texture_format_(texture_format) { 139 texture_format_(texture_format),
140 use_16bit_tiles_(resource_provider->use_16bit_textures()) {
140 raster_worker_pool_->SetClient(this); 141 raster_worker_pool_->SetClient(this);
141 } 142 }
142 143
143 TileManager::~TileManager() { 144 TileManager::~TileManager() {
144 // Reset global state and manage. This should cause 145 // Reset global state and manage. This should cause
145 // our memory usage to drop to zero. 146 // our memory usage to drop to zero.
146 global_state_ = GlobalStateThatImpactsTilePriority(); 147 global_state_ = GlobalStateThatImpactsTilePriority();
147 148
148 // Clear |sorted_tiles_| so that tiles kept alive by it can be freed. 149 // Clear |sorted_tiles_| so that tiles kept alive by it can be freed.
149 sorted_tiles_.clear(); 150 sorted_tiles_.clear();
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 mts.resolution, 758 mts.resolution,
758 tile->layer_id(), 759 tile->layer_id(),
759 static_cast<const void *>(tile), 760 static_cast<const void *>(tile),
760 tile->source_frame_number(), 761 tile->source_frame_number(),
761 rendering_stats_instrumentation_, 762 rendering_stats_instrumentation_,
762 base::Bind(&TileManager::OnRasterTaskCompleted, 763 base::Bind(&TileManager::OnRasterTaskCompleted,
763 base::Unretained(this), 764 base::Unretained(this),
764 tile->id(), 765 tile->id(),
765 base::Passed(&resource), 766 base::Passed(&resource),
766 mts.raster_mode), 767 mts.raster_mode),
767 &decode_tasks); 768 &decode_tasks,
769 use_16bit_tiles_);
768 } 770 }
769 771
770 void TileManager::OnImageDecodeTaskCompleted( 772 void TileManager::OnImageDecodeTaskCompleted(
771 int layer_id, 773 int layer_id,
772 skia::LazyPixelRef* pixel_ref, 774 skia::LazyPixelRef* pixel_ref,
773 bool was_canceled) { 775 bool was_canceled) {
774 // If the task was canceled, we need to clean it up 776 // If the task was canceled, we need to clean it up
775 // from |image_decode_tasks_|. 777 // from |image_decode_tasks_|.
776 if (!was_canceled) 778 if (!was_canceled)
777 return; 779 return;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 tile_version.set_use_resource(); 828 tile_version.set_use_resource();
827 tile_version.resource_ = resource.Pass(); 829 tile_version.resource_ = resource.Pass();
828 } 830 }
829 831
830 FreeUnusedResourcesForTile(tile); 832 FreeUnusedResourcesForTile(tile);
831 if (tile->priority(ACTIVE_TREE).distance_to_visible_in_pixels == 0) 833 if (tile->priority(ACTIVE_TREE).distance_to_visible_in_pixels == 0)
832 did_initialize_visible_tile_ = true; 834 did_initialize_visible_tile_ = true;
833 } 835 }
834 836
835 } // namespace cc 837 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698