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

Unified Diff: cc/quads/render_pass_draw_quad.cc

Issue 23455060: mix-blend-mode implementation for accelerated layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: cc/quads/render_pass_draw_quad.cc
diff --git a/cc/quads/render_pass_draw_quad.cc b/cc/quads/render_pass_draw_quad.cc
index 73b2553e209213b13289d262329db5eaa5449a98..002d61421fcea6c93b1301784387caff3f046d4d 100644
--- a/cc/quads/render_pass_draw_quad.cc
+++ b/cc/quads/render_pass_draw_quad.cc
@@ -14,7 +14,8 @@ namespace cc {
RenderPassDrawQuad::RenderPassDrawQuad()
: render_pass_id(RenderPass::Id(-1, -1)),
is_replica(false),
- mask_resource_id(-1) {
+ mask_resource_id(-1),
+ blend_mode(SkXfermode::kSrcOver_Mode) {
}
RenderPassDrawQuad::~RenderPassDrawQuad() {
@@ -44,7 +45,8 @@ void RenderPassDrawQuad::SetNew(
gfx::RectF mask_uv_rect,
const FilterOperations& filters,
skia::RefPtr<SkImageFilter> filter,
- const FilterOperations& background_filters) {
+ const FilterOperations& background_filters,
+ SkXfermode::Mode blend_mode) {
DCHECK_GT(render_pass_id.layer_id, 0);
DCHECK_GE(render_pass_id.index, 0);
@@ -54,7 +56,7 @@ void RenderPassDrawQuad::SetNew(
SetAll(shared_quad_state, rect, opaque_rect, visible_rect, needs_blending,
render_pass_id, is_replica, mask_resource_id,
contents_changed_since_last_frame, mask_uv_rect, filters, filter,
- background_filters);
+ background_filters, blend_mode);
}
void RenderPassDrawQuad::SetAll(
@@ -70,7 +72,8 @@ void RenderPassDrawQuad::SetAll(
gfx::RectF mask_uv_rect,
const FilterOperations& filters,
skia::RefPtr<SkImageFilter> filter,
- const FilterOperations& background_filters) {
+ const FilterOperations& background_filters,
+ SkXfermode::Mode blend_mode) {
DCHECK_GT(render_pass_id.layer_id, 0);
DCHECK_GE(render_pass_id.index, 0);
@@ -84,6 +87,7 @@ void RenderPassDrawQuad::SetAll(
this->filters = filters;
this->filter = filter;
this->background_filters = background_filters;
+ this->blend_mode = blend_mode;
}
void RenderPassDrawQuad::IterateResources(

Powered by Google App Engine
This is Rietveld 408576698