Status: Accepted
Owner:
brian...@google.comPriority: Medium
Type: Defect
New issue 14627 by
brian...@google.com: CPU Backend: Color filter applied to opaque shader with paint alpha is incorrect
https://bugs.chromium.org/p/skia/issues/detail?id=14627Trivial repro case:
https://fiddle.skia.org/c/cf5ba8db0127c238e362348100869935This is a bug in SkColorFilterShader, which is used to simplify the paint for the CPU backend. That class turns the color filter into a wrapper shader that invokes the original paint shader, then applies paint alpha, and then invokes the color filter. However, when it calls the color filter, the argument for 'shaderIsOpaque' is only determined by the shader, not the paint alpha. This means that with an opaque shader, paint alpha, and a color filter, the color filter gets an incorrect value for shaderIsOpaque. Many (most) color filters operate on unpremul colors, and use that bool to skip doing an unpremul/premul pair - producing different results.
--
You received this message because:
1. The project was configured to send all issue notifications to this address
You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings