| 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 |