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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 if (own_child_id_) { | 496 if (own_child_id_) { |
494 ResourceProvider* provider = layer_tree_impl()->resource_provider(); | 497 ResourceProvider* provider = layer_tree_impl()->resource_provider(); |
495 provider->DestroyChild(child_id_); | 498 provider->DestroyChild(child_id_); |
496 } | 499 } |
497 | 500 |
498 resources_.clear(); | 501 resources_.clear(); |
499 child_id_ = 0; | 502 child_id_ = 0; |
500 } | 503 } |
501 | 504 |
502 } // namespace cc | 505 } // namespace cc |
OLD | NEW |