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/layers/delegated_renderer_layer_impl.h" | 5 #include "cc/layers/delegated_renderer_layer_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 if (!layer_tree_impl()->IsActiveTree()) | 168 if (!layer_tree_impl()->IsActiveTree()) |
169 return; | 169 return; |
170 layer_tree_impl()->resource_provider()->DeclareUsedResourcesFromChild( | 170 layer_tree_impl()->resource_provider()->DeclareUsedResourcesFromChild( |
171 child_id_, resources); | 171 child_id_, resources); |
172 } | 172 } |
173 | 173 |
174 void DelegatedRendererLayerImpl::SetRenderPasses( | 174 void DelegatedRendererLayerImpl::SetRenderPasses( |
175 RenderPassList* render_passes_in_draw_order) { | 175 RenderPassList* render_passes_in_draw_order) { |
176 ClearRenderPasses(); | 176 ClearRenderPasses(); |
177 | 177 |
178 for (size_t i = 0; i < render_passes_in_draw_order->size(); ++i) { | 178 size_t i = 0; |
179 RenderPassList::iterator to_take = | 179 for (auto& render_pass : *render_passes_in_draw_order) { |
180 render_passes_in_draw_order->begin() + i; | |
181 render_passes_index_by_id_.insert( | 180 render_passes_index_by_id_.insert( |
182 RenderPassToIndexMap::value_type((*to_take)->id, i)); | 181 RenderPassToIndexMap::value_type(render_pass->id, i)); |
183 render_passes_in_draw_order_.push_back(to_take->Pass()); | 182 render_passes_in_draw_order_.push_back(std::move(render_pass)); |
| 183 ++i; |
184 } | 184 } |
185 | 185 |
186 // Give back an empty array instead of nulls. | 186 // Give back an empty array instead of nulls. |
187 render_passes_in_draw_order->clear(); | 187 render_passes_in_draw_order->clear(); |
188 | 188 |
189 // The render passes given here become part of the RenderSurfaceLayerList, so | 189 // The render passes given here become part of the RenderSurfaceLayerList, so |
190 // changing them requires recomputing the RenderSurfaceLayerList. | 190 // changing them requires recomputing the RenderSurfaceLayerList. |
191 layer_tree_impl()->set_needs_update_draw_properties(); | 191 layer_tree_impl()->set_needs_update_draw_properties(); |
192 } | 192 } |
193 | 193 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 | 258 |
259 // Don't clash with the RenderPass we generate if we own a RenderSurface. | 259 // Don't clash with the RenderPass we generate if we own a RenderSurface. |
260 DCHECK(present) << render_passes_in_draw_order_[i]->id.layer_id << ", " | 260 DCHECK(present) << render_passes_in_draw_order_[i]->id.layer_id << ", " |
261 << render_passes_in_draw_order_[i]->id.index; | 261 << render_passes_in_draw_order_[i]->id.index; |
262 DCHECK_GT(output_render_pass_id.index, 0u); | 262 DCHECK_GT(output_render_pass_id.index, 0u); |
263 | 263 |
264 scoped_ptr<RenderPass> copy_pass = | 264 scoped_ptr<RenderPass> copy_pass = |
265 render_passes_in_draw_order_[i]->Copy(output_render_pass_id); | 265 render_passes_in_draw_order_[i]->Copy(output_render_pass_id); |
266 copy_pass->transform_to_root_target.ConcatTransform( | 266 copy_pass->transform_to_root_target.ConcatTransform( |
267 delegated_frame_to_root_transform); | 267 delegated_frame_to_root_transform); |
268 render_pass_sink->AppendRenderPass(copy_pass.Pass()); | 268 render_pass_sink->AppendRenderPass(std::move(copy_pass)); |
269 } | 269 } |
270 } | 270 } |
271 | 271 |
272 bool DelegatedRendererLayerImpl::WillDraw(DrawMode draw_mode, | 272 bool DelegatedRendererLayerImpl::WillDraw(DrawMode draw_mode, |
273 ResourceProvider* resource_provider) { | 273 ResourceProvider* resource_provider) { |
274 if (draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE) | 274 if (draw_mode == DRAW_MODE_RESOURCELESS_SOFTWARE) |
275 return false; | 275 return false; |
276 return LayerImpl::WillDraw(draw_mode, resource_provider); | 276 return LayerImpl::WillDraw(draw_mode, resource_provider); |
277 } | 277 } |
278 | 278 |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
512 if (own_child_id_) { | 512 if (own_child_id_) { |
513 ResourceProvider* provider = layer_tree_impl()->resource_provider(); | 513 ResourceProvider* provider = layer_tree_impl()->resource_provider(); |
514 provider->DestroyChild(child_id_); | 514 provider->DestroyChild(child_id_); |
515 } | 515 } |
516 | 516 |
517 resources_.clear(); | 517 resources_.clear(); |
518 child_id_ = 0; | 518 child_id_ = 0; |
519 } | 519 } |
520 | 520 |
521 } // namespace cc | 521 } // namespace cc |
OLD | NEW |