Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(610)

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 23455060: mix-blend-mode implementation for accelerated layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moving blend_mode property to SharedQuadState Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 590
591 gfx::Rect root_target_rect = root_layer->render_surface()->content_rect(); 591 gfx::Rect root_target_rect = root_layer->render_surface()->content_rect();
592 float opacity = 1.f; 592 float opacity = 1.f;
593 SharedQuadState* shared_quad_state = 593 SharedQuadState* shared_quad_state =
594 quad_culler.UseSharedQuadState(SharedQuadState::Create()); 594 quad_culler.UseSharedQuadState(SharedQuadState::Create());
595 shared_quad_state->SetAll(root_layer->draw_transform(), 595 shared_quad_state->SetAll(root_layer->draw_transform(),
596 root_target_rect.size(), 596 root_target_rect.size(),
597 root_target_rect, 597 root_target_rect,
598 root_target_rect, 598 root_target_rect,
599 false, 599 false,
600 opacity); 600 opacity,
601 SkXfermode::kSrcOver_Mode);
601 602
602 AppendQuadsData append_quads_data; 603 AppendQuadsData append_quads_data;
603 604
604 gfx::Transform transform_to_layer_space(gfx::Transform::kSkipInitialization); 605 gfx::Transform transform_to_layer_space(gfx::Transform::kSkipInitialization);
605 bool did_invert = root_layer->screen_space_transform().GetInverse( 606 bool did_invert = root_layer->screen_space_transform().GetInverse(
606 &transform_to_layer_space); 607 &transform_to_layer_space);
607 DCHECK(did_invert); 608 DCHECK(did_invert);
608 for (Region::Iterator fill_rects(fill_region); 609 for (Region::Iterator fill_rects(fill_region);
609 fill_rects.has_rect(); 610 fill_rects.has_rect();
610 fill_rects.next()) { 611 fill_rects.next()) {
(...skipping 2102 matching lines...) Expand 10 before | Expand all | Expand 10 after
2713 std::set<UIResourceId>::iterator found_in_evicted = 2714 std::set<UIResourceId>::iterator found_in_evicted =
2714 evicted_ui_resources_.find(uid); 2715 evicted_ui_resources_.find(uid);
2715 if (found_in_evicted == evicted_ui_resources_.end()) 2716 if (found_in_evicted == evicted_ui_resources_.end())
2716 return; 2717 return;
2717 evicted_ui_resources_.erase(found_in_evicted); 2718 evicted_ui_resources_.erase(found_in_evicted);
2718 if (evicted_ui_resources_.empty()) 2719 if (evicted_ui_resources_.empty())
2719 client_->OnCanDrawStateChanged(CanDraw()); 2720 client_->OnCanDrawStateChanged(CanDraw());
2720 } 2721 }
2721 2722
2722 } // namespace cc 2723 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698