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

Misassigned corner radii on my integrated GPU #1809

Closed
mstange opened this issue Oct 5, 2017 · 0 comments
Closed

Misassigned corner radii on my integrated GPU #1809

mstange opened this issue Oct 5, 2017 · 0 comments
Assignees

Comments

@mstange
Copy link
Contributor

@mstange mstange commented Oct 5, 2017

https://bugzilla.mozilla.org/show_bug.cgi?id=1405955

Testcase

Expected vs actual:

screen shot 2017-10-05 at 2 20 25 am

  border-top-left-radius: 0px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 40px;
bors-servo added a commit that referenced this issue Oct 5, 2017
Work around an apparent driver bug that caused wrong corner radii.

Fixes #1809.

Using the driver of the Intel GPU in my Macbook Pro (Intel HD Graphics 530
1536 MB, 0x191b, Skylake GT2) on macOS 10.12.6, the integer calculation that was
used in order to compute the lookup address gave wrong results, and the corner
radius for the wrong corner was looked up.
The only way to get correct results from it was to move the entire adjustment of
the address ivec2 variable into the caller. Now all values in the calculations
were integer literals.
I then replaced the multiplications with gradual "+= 2" adjustments of the
address variable in fetch_clip, because that looked better and might even be
easier to reason about than the original code.

<!-- 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/1810)
<!-- Reviewable:end -->
mstange added a commit to mstange/webrender that referenced this issue Oct 23, 2017
mstange added a commit to mstange/webrender that referenced this issue Oct 23, 2017
bors-servo added a commit that referenced this issue Oct 24, 2017
Use a different workaround that fixes both #1809 and #1738.

This reverts #1810 and applies the alternative workaround that I gave in #1810 (comment) , because this alternative workaround also happens to fix #1738.

I was hesitant to create this PR because I haven't debugged #1738 enough to understand what's going wrong. But there is probably no good reason to delay fixing this until somebody does the investigation.

r? @kvark

<!-- 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/1915)
<!-- 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.

None yet
1 participant
You can’t perform that action at this time.