diff options
author | 2016-11-03 12:22:01 -0400 | |
---|---|---|
committer | 2016-11-03 17:15:15 +0000 | |
commit | 668661700127e8e340c1d731d2b9fc5ea443163f (patch) | |
tree | e4236242117029f5c78e5b8e24c2ef23cc319524 /src/core/SkRasterPipeline.h | |
parent | 37d1b49ae85a6f0299b36104c666defbc513dbb9 (diff) |
Basic pipeline blend mode strength reductions:
- when the shader is opaque, srcover becomes src
- don't load dst when blitting in src mode with full coverage
- fold coverage into src alpha when in srcover mode
It's not obvious that we can fold coverage into src alpha when using a 565 mask, so I've not attempted that. What would we do about alpha?
Over all GMs this causes a single 1-bit difference in sRGB mode. No 565 or f16 diffs.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4349
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: Ib9161f498c4efa6b348ca74522166da64d09a7da
Reviewed-on: https://skia-review.googlesource.com/4349
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkRasterPipeline.h')
-rw-r--r-- | src/core/SkRasterPipeline.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/SkRasterPipeline.h b/src/core/SkRasterPipeline.h index 7107c688c2..0a3cddbcb9 100644 --- a/src/core/SkRasterPipeline.h +++ b/src/core/SkRasterPipeline.h @@ -60,7 +60,7 @@ M(load_s_565) M(load_d_565) M(store_565) \ M(load_s_srgb) M(load_d_srgb) M(store_srgb) \ M(load_s_f16) M(load_d_f16) M(store_f16) \ - M(scale_u8) \ + M(scale_u8) M(scale_constant_float) \ M(lerp_u8) M(lerp_565) M(lerp_constant_float) \ M(dst) \ M(dstatop) M(dstin) M(dstout) M(dstover) \ |