Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upOpacity group compositing treats premultiplied RGBA as unpremultiplied RGBA #1449
Comments
|
Is this a duplicate of #1354? |
|
Looks like it, yes. |
|
It appears to not be the issue about color pre-multiplication. The problem lies within blend modes we use for opacity, and the fact our cache target is cleared with black. So, having 2 opacity filters means one has to go through the cache target, and thus gets blended with black color, which screws up the result. |
|
@glennw I think, internally, our task API should have the (optional) clear color information. The renderer will then make sure that the task gets proper background color. |
|
Edit: my previous 2 comments were related to #1354, not this one. |
Pre-multiplied alpha for the blend pass Fixes #1449, fixes #1354 Running Servo tests is pending... Done. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/1493) <!-- Reviewable:end -->
Testcase: testcase

Screenshot:
Firefox left, Servo right.
This box has a greyish fill in both servo and webrendest Gecko. It should have a yellow-whitish fill.