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 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 render_passes_in_draw_order->begin() + i; | 165 render_passes_in_draw_order->begin() + i; |
166 render_passes_index_by_id_.insert( | 166 render_passes_index_by_id_.insert( |
167 std::pair<RenderPassId, int>((*to_take)->id, i)); | 167 std::pair<RenderPassId, int>((*to_take)->id, i)); |
168 scoped_ptr<RenderPass> taken_render_pass = | 168 scoped_ptr<RenderPass> taken_render_pass = |
169 render_passes_in_draw_order->take(to_take); | 169 render_passes_in_draw_order->take(to_take); |
170 render_passes_in_draw_order_.push_back(taken_render_pass.Pass()); | 170 render_passes_in_draw_order_.push_back(taken_render_pass.Pass()); |
171 } | 171 } |
172 | 172 |
173 // Give back an empty array instead of nulls. | 173 // Give back an empty array instead of nulls. |
174 render_passes_in_draw_order->clear(); | 174 render_passes_in_draw_order->clear(); |
| 175 |
| 176 // The render passes given here become part of the RenderSurfaceLayerList, so |
| 177 // changing them requires recomputing the RenderSurfaceLayerList. |
| 178 layer_tree_impl()->set_needs_update_draw_properties(); |
175 } | 179 } |
176 | 180 |
177 void DelegatedRendererLayerImpl::ClearRenderPasses() { | 181 void DelegatedRendererLayerImpl::ClearRenderPasses() { |
178 render_passes_index_by_id_.clear(); | 182 render_passes_index_by_id_.clear(); |
179 render_passes_in_draw_order_.clear(); | 183 render_passes_in_draw_order_.clear(); |
180 } | 184 } |
181 | 185 |
182 scoped_ptr<LayerImpl> DelegatedRendererLayerImpl::CreateLayerImpl( | 186 scoped_ptr<LayerImpl> DelegatedRendererLayerImpl::CreateLayerImpl( |
183 LayerTreeImpl* tree_impl) { | 187 LayerTreeImpl* tree_impl) { |
184 return DelegatedRendererLayerImpl::Create(tree_impl, id()); | 188 return DelegatedRendererLayerImpl::Create(tree_impl, id()); |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 if (own_child_id_) { | 502 if (own_child_id_) { |
499 ResourceProvider* provider = layer_tree_impl()->resource_provider(); | 503 ResourceProvider* provider = layer_tree_impl()->resource_provider(); |
500 provider->DestroyChild(child_id_); | 504 provider->DestroyChild(child_id_); |
501 } | 505 } |
502 | 506 |
503 resources_.clear(); | 507 resources_.clear(); |
504 child_id_ = 0; | 508 child_id_ = 0; |
505 } | 509 } |
506 | 510 |
507 } // namespace cc | 511 } // namespace cc |
OLD | NEW |