Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opacity group compositing treats premultiplied RGBA as unpremultiplied RGBA #1449

Closed
mstange opened this issue Jul 1, 2017 · 5 comments
Closed
Assignees
Labels

Comments

@mstange
Copy link
Contributor

@mstange mstange commented Jul 1, 2017

Testcase: testcase
Screenshot:
screen shot 2017-07-01 at 2 35 25 pm
Firefox left, Servo right.

This box has a greyish fill in both servo and webrendest Gecko. It should have a yellow-whitish fill.

@kvark kvark added the type: bug label Jul 4, 2017
@mrobinson
Copy link
Member

@mrobinson mrobinson commented Jul 12, 2017

Is this a duplicate of #1354?

@mstange
Copy link
Contributor Author

@mstange mstange commented Jul 13, 2017

Looks like it, yes.

@kvark
Copy link
Member

@kvark kvark commented Jul 17, 2017

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.

@kvark
Copy link
Member

@kvark kvark commented Jul 17, 2017

@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.

@kvark
Copy link
Member

@kvark kvark commented Jul 17, 2017

Edit: my previous 2 comments were related to #1354, not this one.
Edit2: actually, disregard these comments.

@kvark kvark self-assigned this Jul 17, 2017
bors-servo added a commit that referenced this issue Jul 19, 2017
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 -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

3 participants
You can’t perform that action at this time.