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

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

Issue 110883015: Add preliminary support for hw-accelerated tile rasterization. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: avoid implementing TestContextProvider::GrContext for now Created 6 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « cc/resources/tile_manager.h ('k') | cc/resources/worker_pool.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue()); 160 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue());
161 state->SetInteger("completed_count", stats.completed_count); 161 state->SetInteger("completed_count", stats.completed_count);
162 state->SetInteger("canceled_count", stats.canceled_count); 162 state->SetInteger("canceled_count", stats.canceled_count);
163 return state.PassAs<base::Value>(); 163 return state.PassAs<base::Value>();
164 } 164 }
165 165
166 // static 166 // static
167 scoped_ptr<TileManager> TileManager::Create( 167 scoped_ptr<TileManager> TileManager::Create(
168 TileManagerClient* client, 168 TileManagerClient* client,
169 ResourceProvider* resource_provider, 169 ResourceProvider* resource_provider,
170 ContextProvider* context_provider,
170 size_t num_raster_threads, 171 size_t num_raster_threads,
171 RenderingStatsInstrumentation* rendering_stats_instrumentation, 172 RenderingStatsInstrumentation* rendering_stats_instrumentation,
172 bool use_map_image, 173 bool use_map_image,
173 size_t max_transfer_buffer_usage_bytes, 174 size_t max_transfer_buffer_usage_bytes,
174 size_t max_raster_usage_bytes, 175 size_t max_raster_usage_bytes,
175 GLenum map_image_texture_target) { 176 GLenum map_image_texture_target) {
176 return make_scoped_ptr( 177 return make_scoped_ptr(
177 new TileManager(client, 178 new TileManager(client,
178 resource_provider, 179 resource_provider,
179 use_map_image ? 180 use_map_image ?
180 ImageRasterWorkerPool::Create( 181 ImageRasterWorkerPool::Create(
181 resource_provider, 182 resource_provider,
183 context_provider,
182 num_raster_threads, 184 num_raster_threads,
183 map_image_texture_target) : 185 map_image_texture_target) :
184 PixelBufferRasterWorkerPool::Create( 186 PixelBufferRasterWorkerPool::Create(
185 resource_provider, 187 resource_provider,
188 context_provider,
186 num_raster_threads, 189 num_raster_threads,
187 max_transfer_buffer_usage_bytes), 190 max_transfer_buffer_usage_bytes),
188 num_raster_threads, 191 num_raster_threads,
189 max_raster_usage_bytes, 192 max_raster_usage_bytes,
190 rendering_stats_instrumentation)); 193 rendering_stats_instrumentation));
191 } 194 }
192 195
193 TileManager::TileManager( 196 TileManager::TileManager(
194 TileManagerClient* client, 197 TileManagerClient* client,
195 ResourceProvider* resource_provider, 198 ResourceProvider* resource_provider,
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 return RasterWorkerPool::CreateRasterTask( 882 return RasterWorkerPool::CreateRasterTask(
880 const_resource, 883 const_resource,
881 tile->picture_pile(), 884 tile->picture_pile(),
882 tile->content_rect(), 885 tile->content_rect(),
883 tile->contents_scale(), 886 tile->contents_scale(),
884 mts.raster_mode, 887 mts.raster_mode,
885 mts.resolution, 888 mts.resolution,
886 tile->layer_id(), 889 tile->layer_id(),
887 static_cast<const void *>(tile), 890 static_cast<const void *>(tile),
888 tile->source_frame_number(), 891 tile->source_frame_number(),
892 tile->use_gpu_rasterization(),
889 rendering_stats_instrumentation_, 893 rendering_stats_instrumentation_,
890 base::Bind(&TileManager::OnRasterTaskCompleted, 894 base::Bind(&TileManager::OnRasterTaskCompleted,
891 base::Unretained(this), 895 base::Unretained(this),
892 tile->id(), 896 tile->id(),
893 base::Passed(&resource), 897 base::Passed(&resource),
894 mts.raster_mode), 898 mts.raster_mode),
895 &decode_tasks); 899 &decode_tasks);
896 } 900 }
897 901
898 void TileManager::OnImageDecodeTaskCompleted( 902 void TileManager::OnImageDecodeTaskCompleted(
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 flags)); 986 flags));
983 DCHECK(tiles_.find(tile->id()) == tiles_.end()); 987 DCHECK(tiles_.find(tile->id()) == tiles_.end());
984 988
985 tiles_[tile->id()] = tile; 989 tiles_[tile->id()] = tile;
986 used_layer_counts_[tile->layer_id()]++; 990 used_layer_counts_[tile->layer_id()]++;
987 prioritized_tiles_dirty_ = true; 991 prioritized_tiles_dirty_ = true;
988 return tile; 992 return tile;
989 } 993 }
990 994
991 } // namespace cc 995 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/tile_manager.h ('k') | cc/resources/worker_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698