From 1828c4c896fd9afdbdce918815e9ca4e679c1525 Mon Sep 17 00:00:00 2001 From: Brandon DeRosier Date: Thu, 10 Mar 2022 10:54:59 -0800 Subject: [PATCH] Correct default blend mode, fix solid stroke shader to respect premultiplied source colors (#69) --- impeller/entity/contents/content_context.h | 2 +- impeller/entity/shaders/solid_stroke.frag | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/impeller/entity/contents/content_context.h b/impeller/entity/contents/content_context.h index 45580647faa7d..042dc6aea3562 100644 --- a/impeller/entity/contents/content_context.h +++ b/impeller/entity/contents/content_context.h @@ -40,7 +40,7 @@ using ClipPipeline = PipelineT; struct ContentContextOptions { SampleCount sample_count = SampleCount::kCount1; - Entity::BlendMode blend_mode = Entity::BlendMode::kSource; + Entity::BlendMode blend_mode = Entity::BlendMode::kSourceOver; struct Hash { constexpr std::size_t operator()(const ContentContextOptions& o) const { diff --git a/impeller/entity/shaders/solid_stroke.frag b/impeller/entity/shaders/solid_stroke.frag index 3d997a40ee4a6..3a3cb61e3cfb8 100644 --- a/impeller/entity/shaders/solid_stroke.frag +++ b/impeller/entity/shaders/solid_stroke.frag @@ -8,6 +8,5 @@ in float v_pen_down; out vec4 frag_color; void main() { - frag_color = stroke_color; - frag_color.a *= floor(v_pen_down); + frag_color = stroke_color * floor(v_pen_down); }