OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/eviction_tile_priority_queue.h" | 5 #include "cc/resources/eviction_tile_priority_queue.h" |
6 | 6 |
7 namespace cc { | 7 namespace cc { |
8 | 8 |
9 namespace { | 9 namespace { |
10 | 10 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 PairedTilingSetQueue* paired_queue = paired_queues_.back(); | 112 PairedTilingSetQueue* paired_queue = paired_queues_.back(); |
113 paired_queue->Pop(); | 113 paired_queue->Pop(); |
114 paired_queues_.push_heap(EvictionOrderComparator(tree_priority_)); | 114 paired_queues_.push_heap(EvictionOrderComparator(tree_priority_)); |
115 } | 115 } |
116 | 116 |
117 EvictionTilePriorityQueue::PairedTilingSetQueue::PairedTilingSetQueue() { | 117 EvictionTilePriorityQueue::PairedTilingSetQueue::PairedTilingSetQueue() { |
118 } | 118 } |
119 | 119 |
120 EvictionTilePriorityQueue::PairedTilingSetQueue::PairedTilingSetQueue( | 120 EvictionTilePriorityQueue::PairedTilingSetQueue::PairedTilingSetQueue( |
121 const PictureLayerImpl::Pair& layer_pair) { | 121 const PictureLayerImpl::Pair& layer_pair) { |
122 bool skip_shared_out_of_order_tiles = layer_pair.active && layer_pair.pending; | |
123 if (layer_pair.active) { | 122 if (layer_pair.active) { |
124 active_queue = make_scoped_ptr(new TilingSetEvictionQueue( | 123 active_queue = make_scoped_ptr(new TilingSetEvictionQueue( |
125 layer_pair.active->picture_layer_tiling_set(), | 124 layer_pair.active->picture_layer_tiling_set())); |
126 skip_shared_out_of_order_tiles)); | |
127 } | 125 } |
128 if (layer_pair.pending) { | 126 if (layer_pair.pending) { |
129 pending_queue = make_scoped_ptr(new TilingSetEvictionQueue( | 127 pending_queue = make_scoped_ptr(new TilingSetEvictionQueue( |
130 layer_pair.pending->picture_layer_tiling_set(), | 128 layer_pair.pending->picture_layer_tiling_set())); |
131 skip_shared_out_of_order_tiles)); | |
132 } | 129 } |
133 } | 130 } |
134 | 131 |
135 EvictionTilePriorityQueue::PairedTilingSetQueue::~PairedTilingSetQueue() { | 132 EvictionTilePriorityQueue::PairedTilingSetQueue::~PairedTilingSetQueue() { |
136 } | 133 } |
137 | 134 |
138 bool EvictionTilePriorityQueue::PairedTilingSetQueue::IsEmpty() const { | 135 bool EvictionTilePriorityQueue::PairedTilingSetQueue::IsEmpty() const { |
139 return (!active_queue || active_queue->IsEmpty()) && | 136 return (!active_queue || active_queue->IsEmpty()) && |
140 (!pending_queue || pending_queue->IsEmpty()); | 137 (!pending_queue || pending_queue->IsEmpty()); |
141 } | 138 } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 return active_tile->required_for_activation() ? PENDING_TREE : ACTIVE_TREE; | 192 return active_tile->required_for_activation() ? PENDING_TREE : ACTIVE_TREE; |
196 } | 193 } |
197 | 194 |
198 // Return tile with a lower priority. | 195 // Return tile with a lower priority. |
199 if (pending_priority.IsHigherPriorityThan(active_priority)) | 196 if (pending_priority.IsHigherPriorityThan(active_priority)) |
200 return ACTIVE_TREE; | 197 return ACTIVE_TREE; |
201 return PENDING_TREE; | 198 return PENDING_TREE; |
202 } | 199 } |
203 | 200 |
204 } // namespace cc | 201 } // namespace cc |
OLD | NEW |