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

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

Issue 18370002: cc: Made use color estimator a const instead of a flag. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix cc_perftests compile error Created 7 years, 5 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
« no previous file with comments | « cc/resources/tile_manager.h ('k') | cc/test/fake_tile_manager.cc » ('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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 return scoped_ptr<base::Value>(base::Value::CreateStringValue( 91 return scoped_ptr<base::Value>(base::Value::CreateStringValue(
92 "<unknown TileManagerBinPriority value>")); 92 "<unknown TileManagerBinPriority value>"));
93 } 93 }
94 } 94 }
95 95
96 // static 96 // static
97 scoped_ptr<TileManager> TileManager::Create( 97 scoped_ptr<TileManager> TileManager::Create(
98 TileManagerClient* client, 98 TileManagerClient* client,
99 ResourceProvider* resource_provider, 99 ResourceProvider* resource_provider,
100 size_t num_raster_threads, 100 size_t num_raster_threads,
101 bool use_color_estimator,
102 RenderingStatsInstrumentation* rendering_stats_instrumentation, 101 RenderingStatsInstrumentation* rendering_stats_instrumentation,
103 bool use_map_image) { 102 bool use_map_image) {
104 return make_scoped_ptr( 103 return make_scoped_ptr(
105 new TileManager(client, 104 new TileManager(client,
106 resource_provider, 105 resource_provider,
107 use_map_image ? 106 use_map_image ?
108 ImageRasterWorkerPool::Create( 107 ImageRasterWorkerPool::Create(
109 resource_provider, num_raster_threads) : 108 resource_provider, num_raster_threads) :
110 PixelBufferRasterWorkerPool::Create( 109 PixelBufferRasterWorkerPool::Create(
111 resource_provider, num_raster_threads), 110 resource_provider, num_raster_threads),
112 num_raster_threads, 111 num_raster_threads,
113 use_color_estimator,
114 rendering_stats_instrumentation, 112 rendering_stats_instrumentation,
115 resource_provider->best_texture_format())); 113 resource_provider->best_texture_format()));
116 } 114 }
117 115
118 TileManager::TileManager( 116 TileManager::TileManager(
119 TileManagerClient* client, 117 TileManagerClient* client,
120 ResourceProvider* resource_provider, 118 ResourceProvider* resource_provider,
121 scoped_ptr<RasterWorkerPool> raster_worker_pool, 119 scoped_ptr<RasterWorkerPool> raster_worker_pool,
122 size_t num_raster_threads, 120 size_t num_raster_threads,
123 bool use_color_estimator,
124 RenderingStatsInstrumentation* rendering_stats_instrumentation, 121 RenderingStatsInstrumentation* rendering_stats_instrumentation,
125 GLenum texture_format) 122 GLenum texture_format)
126 : client_(client), 123 : client_(client),
127 resource_pool_(ResourcePool::Create(resource_provider)), 124 resource_pool_(ResourcePool::Create(resource_provider)),
128 raster_worker_pool_(raster_worker_pool.Pass()), 125 raster_worker_pool_(raster_worker_pool.Pass()),
129 ever_exceeded_memory_budget_(false), 126 ever_exceeded_memory_budget_(false),
130 rendering_stats_instrumentation_(rendering_stats_instrumentation), 127 rendering_stats_instrumentation_(rendering_stats_instrumentation),
131 use_color_estimator_(use_color_estimator),
132 did_initialize_visible_tile_(false), 128 did_initialize_visible_tile_(false),
133 texture_format_(texture_format) { 129 texture_format_(texture_format) {
134 raster_worker_pool_->SetClient(this); 130 raster_worker_pool_->SetClient(this);
135 } 131 }
136 132
137 TileManager::~TileManager() { 133 TileManager::~TileManager() {
138 // Reset global state and manage. This should cause 134 // Reset global state and manage. This should cause
139 // our memory usage to drop to zero. 135 // our memory usage to drop to zero.
140 global_state_ = GlobalStateThatImpactsTilePriority(); 136 global_state_ = GlobalStateThatImpactsTilePriority();
141 AssignGpuMemoryToTiles(); 137 AssignGpuMemoryToTiles();
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 existing_pixel_refs[id] = decode_task; 725 existing_pixel_refs[id] = decode_task;
730 } 726 }
731 727
732 RasterTaskMetadata metadata = GetRasterTaskMetadata(*tile); 728 RasterTaskMetadata metadata = GetRasterTaskMetadata(*tile);
733 return RasterWorkerPool::CreateRasterTask( 729 return RasterWorkerPool::CreateRasterTask(
734 const_resource, 730 const_resource,
735 tile->picture_pile(), 731 tile->picture_pile(),
736 tile->content_rect(), 732 tile->content_rect(),
737 tile->contents_scale(), 733 tile->contents_scale(),
738 mts.raster_mode, 734 mts.raster_mode,
739 use_color_estimator_,
740 metadata, 735 metadata,
741 rendering_stats_instrumentation_, 736 rendering_stats_instrumentation_,
742 base::Bind(&TileManager::OnRasterTaskCompleted, 737 base::Bind(&TileManager::OnRasterTaskCompleted,
743 base::Unretained(this), 738 base::Unretained(this),
744 make_scoped_refptr(tile), 739 make_scoped_refptr(tile),
745 base::Passed(&resource), 740 base::Passed(&resource),
746 mts.raster_mode), 741 mts.raster_mode),
747 &decode_tasks); 742 &decode_tasks);
748 } 743 }
749 744
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 } 813 }
819 814
820 void TileManager::DidTileTreeBinChange(Tile* tile, 815 void TileManager::DidTileTreeBinChange(Tile* tile,
821 TileManagerBin new_tree_bin, 816 TileManagerBin new_tree_bin,
822 WhichTree tree) { 817 WhichTree tree) {
823 ManagedTileState& mts = tile->managed_state(); 818 ManagedTileState& mts = tile->managed_state();
824 mts.tree_bin[tree] = new_tree_bin; 819 mts.tree_bin[tree] = new_tree_bin;
825 } 820 }
826 821
827 } // namespace cc 822 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/tile_manager.h ('k') | cc/test/fake_tile_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698