Go to file
Brian Osman c41c3d52fe Revert "Move alpha modulation into paint conversion (Step 1)"
This reverts commit c77620c308.

Reason for revert: Android failing LayerTypeAndRenderTypeTransactionTest#SetAlphaClamped

Original change's description:
> Move alpha modulation into paint conversion (Step 1)
>
> Skia has a rule that says (roughly), any SkShader is modulated by the
> paint alpha. The CPU backend implements this precisely - the entire
> shader sees the opaque paint color, and the alpha is applied once at
> the root. The GPU backend has previously made each SkShader responsible
> for doing this modulation. That led to two kinds of problems:
>
>   1) Some shaders forgot to do the modulation at all.
>   2) In shader trees, it's possible for the alpha to get applied
>      multiple times, or to child effects where it isn't desired.
>
> A consequence of #2 is that the GPU implementation of things like
> blend-shaders have to jump through hoops to invoke their children with
> opaque versions of their input colors.
>
> This CL allows us to remove the explicit alpha modulation from a variety
> of shaders, and should also cleanup of the blend shader logic. However,
> to get the CL past chrome's layout tests, we need to guard the change.
> So this version just makes the major change so paint conversion, in a
> way that will work universally. Once chrome switches to the new method,
> it will be safe to clean up the various shader implementations.
>
> Bug: skia:11942
> Change-Id: I518534becdd5d10cbd78cf3ff7d4a46dd1faabf9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/464116
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:11942
Change-Id: I382945cfe441412fe440cf2a658b5caa2e3ff696
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/464697
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-10-28 14:25:12 +00:00
animations
bazel [infra] Add initial platforms and constraint values 2021-10-26 18:27:13 +00:00
bench Reland "Create a common Tessellation.h header" 2021-10-27 19:09:32 +00:00
bin [sk] Update asset download references to use SK 2021-09-17 16:55:53 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
demos.skia.org [demos] Add WebGPU demo using origin trial 2021-10-08 16:35:34 +00:00
dm [graphite] Rearrange internal Context/Recorder/Recording relationship 2021-10-15 13:51:59 +00:00
docker [infra] Update cmake docker image to be Debian 10 2021-07-23 11:21:31 +00:00
docs/examples Reland "Add sRGB 8888 colortype" 2021-08-24 12:56:32 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental Revert "Avoid crash when surface CoW allocation fails" 2021-10-28 01:51:09 +00:00
fuzz Make all shader caps uniquely-owned 2021-10-21 20:11:03 +00:00
gm Add GM to demonstrate inconsistent scaling of shader by paint alpha 2021-10-19 13:04:42 +00:00
gn [graphite] Add DrawBufferManager class. 2021-10-27 19:56:06 +00:00
include Remove GPU-related calls from SkSurface.h when !SK_SUPPORT_GPU 2021-10-28 14:11:41 +00:00
infra [mac] CPU dimensions are too precise and miss new Macminis in the pool. 2021-10-26 20:36:33 +00:00
modules Fix Clang warning -Wbitwise-instead-of-logical. 2021-10-26 21:35:37 +00:00
platform_tools change method signature for FontChain 2021-10-28 01:57:32 +00:00
resources Reject scalar casts of literals to types that can't hold them. 2021-10-28 14:05:14 +00:00
samplecode Revert "Lift recursive curve culling out of tessellators" 2021-10-27 17:22:59 +00:00
site Update instructions for running debugger locally 2021-10-11 21:45:31 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Revert "Move alpha modulation into paint conversion (Step 1)" 2021-10-28 14:25:12 +00:00
tests Reject scalar casts of literals to types that can't hold them. 2021-10-28 14:05:14 +00:00
third_party [infra] Add initial platforms and constraint values 2021-10-26 18:27:13 +00:00
toolchain [infra] Add hermetic toolchain for C/C++ using Clang+Musl 2021-10-21 12:43:49 +00:00
tools [graphite] Expand shader precompilation placeholder 2021-10-27 18:43:52 +00:00
.bazelrc [infra] Add hermetic toolchain for C/C++ using Clang+Musl 2021-10-21 12:43:49 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore Add .vscode to the default gitignore list. 2021-10-13 15:23:02 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add trusted service accounts to AUTHORS file 2021-09-29 20:18:40 +00:00
BUILD.bazel [infra] Add initial platforms and constraint values 2021-10-26 18:27:13 +00:00
BUILD.gn [graphite] Allow graphite to compile without ganesh and add shared gn files. 2021-10-26 01:25:05 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll ANGLE from 421dbf200d36 to db83279a7f61 (11 revisions) 2021-10-28 05:25:03 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra to update vpython 2021-09-10 17:41:28 +00:00
go.sum [infra] Roll infra to update vpython 2021-09-10 17:41:28 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl Move ToolUtils::make_big_path() to bench/ 2021-10-14 12:57:29 +00:00
README
README.chromium
RELEASE_NOTES.txt Remove GPU-related calls from SkSurface.h when !SK_SUPPORT_GPU 2021-10-28 14:11:41 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +00:00
WORKSPACE.bazel [infra] Add hermetic toolchain for C/C++ using Clang+Musl 2021-10-21 12:43:49 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.