WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
196303
Non-separable blend modes in mix-blend-mode don't work on elements in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=196303
Summary
Non-separable blend modes in mix-blend-mode don't work on elements in composi...
Matt Perry
Reported
2019-03-27 10:05:53 PDT
If an element has both `mix-blend-mode` rule and has either: 1. Been promoted to a GPU layer, 2. intersects an element that has been promoted to a GPU layer 3. intersects an element that itself intersects an element that has been promoted to a GPU layer (possibly so on) The mix-blend-mode fails to take effect. Examples ================================= In the following examples the red box has been forced into GPU acceleration with `translateZ(0)` - `will-change: transform; transform: anything` also has the same effect. The blue and black boxes are not on a GPU layer. The black box has `mix-blend-mode: color` applied. Note: If any example fails to reproduce as per "Result", try opening the link in a separate, new tab (seriously). Sometimes these work as expected, even after refresh, and then don't when in a new tab. Example 1 --------- Blended element overlaps *only* non-accelerated element Visit
https://0pl5r1jx3l.codesandbox.io/
Expected: Blend mode takes effect Result: Blend mode indeed takes effect With source
https://codesandbox.io/s/0pl5r1jx3l
Example 2 --------- Blended element overlaps both accelerated and non-accelerated elements Visit
https://2xm9ormpkn.codesandbox.io/
Expected: Blend mode takes effect Result: Blend mode doesn't take effect With source
https://codesandbox.io/s/2xm9ormpkn
Example 3 --------- Blended element overlaps *only* non-accelerated element, but non-accelerated element overlaps accelerated element Visit
https://0p56069jp.codesandbox.io/
Expected: Blend mode takes effect Result: Blend mode doesn't take effect With source
https://codesandbox.io/s/0p56069jp
Attachments
Testcase
(515 bytes, text/html)
2019-03-28 21:18 PDT
,
Simon Fraser (smfr)
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2019-03-28 11:16:13 PDT
<
rdar://problem/49387130
>
Simon Fraser (smfr)
Comment 2
2019-03-28 21:18:06 PDT
Holy React tests batman. Needs to transpile modules before it can show three divs?
Simon Fraser (smfr)
Comment 3
2019-03-28 21:18:18 PDT
Created
attachment 366243
[details]
Testcase
Simon Fraser (smfr)
Comment 4
2019-03-28 21:20:40 PDT
I think we just don't support the non-separable blend modes on GPU layers.
Simon Fraser (smfr)
Comment 5
2019-03-28 21:31:30 PDT
// FIXME: CA does't support non-separable blend modes on compositing filters.
Simon Fraser (smfr)
Comment 6
2024-09-23 16:19:22 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/34129
EWS
Comment 7
2024-09-24 12:55:11 PDT
Committed
284170@main
(4d83f317a465): <
https://commits.webkit.org/284170@main
> Reviewed commits have been landed. Closing PR #34129 and removing active labels.
EWS
Comment 8
2024-09-30 14:23:48 PDT
Committed
283286.157@safari-7620-branch
(384f9e3d5bd2): <
https://commits.webkit.org/283286.157@safari-7620-branch
> Reviewed commits have been landed. Closing PR #1913 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug