Commit 9adcaaa2 authored by Brian Salomon's avatar Brian Salomon Committed by Commit Bot

Don't use SkBlendMode::kSrc when quads are opaque in SkiaRenderer.

If quads are antialiased this can trigger shader blending.

Also Skia has optimized code paths for textures drawn src-over.

Bug: 811523
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I9f0405d7651464aeb761c02f5d16f4de29dbbd75
Reviewed-on: https://chromium-review.googlesource.com/c/1259543Reviewed-by: default avatarweiliangc <weiliangc@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Cr-Commit-Position: refs/heads/master@{#596363}
parent 0e4fa12c
......@@ -493,14 +493,9 @@ void SkiaRenderer::DoDrawQuad(const DrawQuad* quad,
current_paint_.setFilterQuality(kLow_SkFilterQuality);
}
if (quad->ShouldDrawWithBlending() ||
quad->shared_quad_state->blend_mode != SkBlendMode::kSrcOver) {
current_paint_.setAlpha(quad->shared_quad_state->opacity * 255);
current_paint_.setBlendMode(
static_cast<SkBlendMode>(quad->shared_quad_state->blend_mode));
} else {
current_paint_.setBlendMode(SkBlendMode::kSrc);
}
current_paint_.setAlpha(quad->shared_quad_state->opacity * 255);
current_paint_.setBlendMode(
static_cast<SkBlendMode>(quad->shared_quad_state->blend_mode));
if (draw_region) {
gfx::QuadF local_draw_region(*draw_region);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment