OLD | NEW |
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.h" | 5 #include "cc/resources/tile.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/trace_event/trace_event_argument.h" | 9 #include "base/trace_event/trace_event_argument.h" |
10 #include "cc/base/math_util.h" | 10 #include "cc/base/math_util.h" |
11 #include "cc/debug/traced_value.h" | 11 #include "cc/debug/traced_value.h" |
12 #include "cc/resources/tile_manager.h" | 12 #include "cc/resources/tile_manager.h" |
13 | 13 |
14 namespace cc { | 14 namespace cc { |
15 | 15 |
16 Tile::Id Tile::s_next_id_ = 0; | 16 Tile::Id Tile::s_next_id_ = 0; |
17 | 17 |
18 Tile::Tile(TileManager* tile_manager, | 18 Tile::Tile(TileManager* tile_manager, |
19 RasterSource* raster_source, | 19 RasterSource* raster_source, |
20 const gfx::Size& desired_texture_size, | 20 const gfx::Size& desired_texture_size, |
21 const gfx::Rect& content_rect, | 21 const gfx::Rect& content_rect, |
22 float contents_scale, | 22 float contents_scale, |
23 int layer_id, | 23 int layer_id, |
24 int source_frame_number, | 24 int source_frame_number, |
25 int flags) | 25 int flags) |
26 : tile_manager_(tile_manager), | 26 : RefCountedManaged<Tile>(tile_manager), |
27 desired_texture_size_(desired_texture_size), | 27 desired_texture_size_(desired_texture_size), |
28 content_rect_(content_rect), | 28 content_rect_(content_rect), |
29 contents_scale_(contents_scale), | 29 contents_scale_(contents_scale), |
30 layer_id_(layer_id), | 30 layer_id_(layer_id), |
31 source_frame_number_(source_frame_number), | 31 source_frame_number_(source_frame_number), |
32 flags_(flags), | 32 flags_(flags), |
33 tiling_i_index_(-1), | 33 tiling_i_index_(-1), |
34 tiling_j_index_(-1), | 34 tiling_j_index_(-1), |
35 required_for_activation_(false), | 35 required_for_activation_(false), |
36 required_for_draw_(false), | 36 required_for_draw_(false), |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 | 84 |
85 res->SetInteger("gpu_memory_usage", GPUMemoryUsageInBytes()); | 85 res->SetInteger("gpu_memory_usage", GPUMemoryUsageInBytes()); |
86 } | 86 } |
87 | 87 |
88 size_t Tile::GPUMemoryUsageInBytes() const { | 88 size_t Tile::GPUMemoryUsageInBytes() const { |
89 if (draw_info_.resource_) | 89 if (draw_info_.resource_) |
90 return draw_info_.resource_->bytes(); | 90 return draw_info_.resource_->bytes(); |
91 return 0; | 91 return 0; |
92 } | 92 } |
93 | 93 |
94 void Tile::Deleter::operator()(Tile* tile) const { | |
95 TileManager* tile_manager = tile->tile_manager_; | |
96 tile_manager->Release(tile); | |
97 } | |
98 | |
99 } // namespace cc | 94 } // namespace cc |
OLD | NEW |