OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/render_surface_impl.h" | 5 #include "cc/layers/render_surface_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "ui/gfx/geometry/rect_conversions.h" | 31 #include "ui/gfx/geometry/rect_conversions.h" |
32 #include "ui/gfx/transform.h" | 32 #include "ui/gfx/transform.h" |
33 | 33 |
34 namespace cc { | 34 namespace cc { |
35 | 35 |
36 RenderSurfaceImpl::RenderSurfaceImpl(LayerTreeImpl* layer_tree_impl, | 36 RenderSurfaceImpl::RenderSurfaceImpl(LayerTreeImpl* layer_tree_impl, |
37 int stable_effect_id) | 37 int stable_effect_id) |
38 : layer_tree_impl_(layer_tree_impl), | 38 : layer_tree_impl_(layer_tree_impl), |
39 stable_effect_id_(stable_effect_id), | 39 stable_effect_id_(stable_effect_id), |
40 effect_tree_index_(EffectTree::kInvalidNodeId), | 40 effect_tree_index_(EffectTree::kInvalidNodeId), |
| 41 num_contributors_(0), |
41 has_contributing_layer_that_escapes_clip_(false), | 42 has_contributing_layer_that_escapes_clip_(false), |
42 surface_property_changed_(false), | 43 surface_property_changed_(false), |
43 ancestor_property_changed_(false), | 44 ancestor_property_changed_(false), |
44 contributes_to_drawn_surface_(false), | 45 contributes_to_drawn_surface_(false), |
| 46 is_render_surface_list_member_(false), |
45 nearest_occlusion_immune_ancestor_(nullptr) { | 47 nearest_occlusion_immune_ancestor_(nullptr) { |
46 damage_tracker_ = DamageTracker::Create(); | 48 damage_tracker_ = DamageTracker::Create(); |
47 } | 49 } |
48 | 50 |
49 RenderSurfaceImpl::~RenderSurfaceImpl() {} | 51 RenderSurfaceImpl::~RenderSurfaceImpl() {} |
50 | 52 |
51 RenderSurfaceImpl* RenderSurfaceImpl::render_target() { | 53 RenderSurfaceImpl* RenderSurfaceImpl::render_target() { |
52 EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree; | 54 EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree; |
53 EffectNode* node = effect_tree.Node(EffectTreeIndex()); | 55 EffectNode* node = effect_tree.Node(EffectTreeIndex()); |
54 if (node->target_id != EffectTree::kRootNodeId) | 56 if (node->target_id != EffectTree::kRootNodeId) |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 if (!is_valid_rect) | 347 if (!is_valid_rect) |
346 return content_rect(); | 348 return content_rect(); |
347 return damage_rect; | 349 return damage_rect; |
348 } | 350 } |
349 | 351 |
350 void RenderSurfaceImpl::ResetPropertyChangedFlags() { | 352 void RenderSurfaceImpl::ResetPropertyChangedFlags() { |
351 surface_property_changed_ = false; | 353 surface_property_changed_ = false; |
352 ancestor_property_changed_ = false; | 354 ancestor_property_changed_ = false; |
353 } | 355 } |
354 | 356 |
355 void RenderSurfaceImpl::ClearLayerLists() { | |
356 layer_list_.clear(); | |
357 } | |
358 | |
359 int RenderSurfaceImpl::GetRenderPassId() { | 357 int RenderSurfaceImpl::GetRenderPassId() { |
360 return id(); | 358 return id(); |
361 } | 359 } |
362 | 360 |
363 std::unique_ptr<RenderPass> RenderSurfaceImpl::CreateRenderPass() { | 361 std::unique_ptr<RenderPass> RenderSurfaceImpl::CreateRenderPass() { |
364 std::unique_ptr<RenderPass> pass = RenderPass::Create(layer_list_.size()); | 362 std::unique_ptr<RenderPass> pass = RenderPass::Create(num_contributors_); |
365 gfx::Rect damage_rect = GetDamageRect(); | 363 gfx::Rect damage_rect = GetDamageRect(); |
366 damage_rect.Intersect(content_rect()); | 364 damage_rect.Intersect(content_rect()); |
367 pass->SetNew(id(), content_rect(), damage_rect, | 365 pass->SetNew(id(), content_rect(), damage_rect, |
368 draw_properties_.screen_space_transform); | 366 draw_properties_.screen_space_transform); |
369 pass->filters = Filters(); | 367 pass->filters = Filters(); |
370 pass->background_filters = BackgroundFilters(); | 368 pass->background_filters = BackgroundFilters(); |
371 return pass; | 369 return pass; |
372 } | 370 } |
373 | 371 |
374 void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass, | 372 void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass, |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 NOTIMPLEMENTED(); | 539 NOTIMPLEMENTED(); |
542 break; | 540 break; |
543 default: | 541 default: |
544 NOTREACHED(); | 542 NOTREACHED(); |
545 break; | 543 break; |
546 } | 544 } |
547 } | 545 } |
548 } | 546 } |
549 | 547 |
550 } // namespace cc | 548 } // namespace cc |
OLD | NEW |