| 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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 | 119 |
| 120 bool invalid_frame = false; | 120 bool invalid_frame = false; |
| 121 ResourceProvider::ResourceIdArray resources_in_frame; | 121 ResourceProvider::ResourceIdArray resources_in_frame; |
| 122 DrawQuad::ResourceIteratorCallback remap_resources_to_parent_callback = | 122 DrawQuad::ResourceIteratorCallback remap_resources_to_parent_callback = |
| 123 base::Bind(&ResourceRemapHelper, | 123 base::Bind(&ResourceRemapHelper, |
| 124 &invalid_frame, | 124 &invalid_frame, |
| 125 resource_map, | 125 resource_map, |
| 126 &resources_in_frame); | 126 &resources_in_frame); |
| 127 for (size_t i = 0; i < render_pass_list.size(); ++i) { | 127 for (size_t i = 0; i < render_pass_list.size(); ++i) { |
| 128 RenderPass* pass = render_pass_list[i]; | 128 RenderPass* pass = render_pass_list[i]; |
| 129 for (size_t j = 0; j < pass->quad_list.size(); ++j) { | 129 for (QuadList::Iterator iter = pass->quad_list.begin(); |
| 130 DrawQuad* quad = pass->quad_list[j]; | 130 iter != pass->quad_list.end(); |
| 131 quad->IterateResources(remap_resources_to_parent_callback); | 131 ++iter) { |
| 132 iter->IterateResources(remap_resources_to_parent_callback); |
| 132 } | 133 } |
| 133 } | 134 } |
| 134 | 135 |
| 135 if (invalid_frame) { | 136 if (invalid_frame) { |
| 136 // Declare we are still using the last frame's resources. | 137 // Declare we are still using the last frame's resources. |
| 137 resource_provider->DeclareUsedResourcesFromChild(child_id_, resources_); | 138 resource_provider->DeclareUsedResourcesFromChild(child_id_, resources_); |
| 138 return; | 139 return; |
| 139 } | 140 } |
| 140 | 141 |
| 141 // Declare we are using the new frame's resources. | 142 // Declare we are using the new frame's resources. |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 | 387 |
| 387 void DelegatedRendererLayerImpl::AppendRenderPassQuads( | 388 void DelegatedRendererLayerImpl::AppendRenderPassQuads( |
| 388 RenderPass* render_pass, | 389 RenderPass* render_pass, |
| 389 const OcclusionTracker<LayerImpl>& occlusion_tracker, | 390 const OcclusionTracker<LayerImpl>& occlusion_tracker, |
| 390 AppendQuadsData* append_quads_data, | 391 AppendQuadsData* append_quads_data, |
| 391 const RenderPass* delegated_render_pass, | 392 const RenderPass* delegated_render_pass, |
| 392 const gfx::Size& frame_size) const { | 393 const gfx::Size& frame_size) const { |
| 393 const SharedQuadState* delegated_shared_quad_state = NULL; | 394 const SharedQuadState* delegated_shared_quad_state = NULL; |
| 394 SharedQuadState* output_shared_quad_state = NULL; | 395 SharedQuadState* output_shared_quad_state = NULL; |
| 395 | 396 |
| 396 for (size_t i = 0; i < delegated_render_pass->quad_list.size(); ++i) { | 397 for (QuadList::ConstIterator iter = delegated_render_pass->quad_list.begin(); |
| 397 const DrawQuad* delegated_quad = delegated_render_pass->quad_list[i]; | 398 iter != delegated_render_pass->quad_list.end(); |
| 399 ++iter) { |
| 400 const DrawQuad* delegated_quad = &*iter; |
| 398 | 401 |
| 399 bool is_root_delegated_render_pass = | 402 bool is_root_delegated_render_pass = |
| 400 delegated_render_pass == render_passes_in_draw_order_.back(); | 403 delegated_render_pass == render_passes_in_draw_order_.back(); |
| 401 | 404 |
| 402 if (delegated_quad->shared_quad_state != delegated_shared_quad_state) { | 405 if (delegated_quad->shared_quad_state != delegated_shared_quad_state) { |
| 403 delegated_shared_quad_state = delegated_quad->shared_quad_state; | 406 delegated_shared_quad_state = delegated_quad->shared_quad_state; |
| 404 output_shared_quad_state = render_pass->CreateAndAppendSharedQuadState(); | 407 output_shared_quad_state = render_pass->CreateAndAppendSharedQuadState(); |
| 405 output_shared_quad_state->CopyFrom(delegated_shared_quad_state); | 408 output_shared_quad_state->CopyFrom(delegated_shared_quad_state); |
| 406 | 409 |
| 407 if (is_root_delegated_render_pass) { | 410 if (is_root_delegated_render_pass) { |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 if (own_child_id_) { | 494 if (own_child_id_) { |
| 492 ResourceProvider* provider = layer_tree_impl()->resource_provider(); | 495 ResourceProvider* provider = layer_tree_impl()->resource_provider(); |
| 493 provider->DestroyChild(child_id_); | 496 provider->DestroyChild(child_id_); |
| 494 } | 497 } |
| 495 | 498 |
| 496 resources_.clear(); | 499 resources_.clear(); |
| 497 child_id_ = 0; | 500 child_id_ = 0; |
| 498 } | 501 } |
| 499 | 502 |
| 500 } // namespace cc | 503 } // namespace cc |
| OLD | NEW |