-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
Fix some issues with lineWidth < 1 after transform (bug 1753075, bug 1743245, bug 1710019) #14536
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hopefully @brendandahl can review this, since I don't feel that I know all of this code well enough to do so properly myself.
/botio test |
From: Bot.io (Windows)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.193.163.58:8877/c42fbebf5cddf10/output.txt |
From: Bot.io (Linux m4)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.241.84.105:8877/8b2e26e6d5e2944/output.txt |
From: Bot.io (Linux m4)FailedFull output at http://54.241.84.105:8877/8b2e26e6d5e2944/output.txt Total script time: 23.29 mins
Image differences available at: http://54.241.84.105:8877/8b2e26e6d5e2944/reftest-analyzer.html#web=eq.log |
From: Bot.io (Windows)FailedFull output at http://54.193.163.58:8877/c42fbebf5cddf10/output.txt Total script time: 25.19 mins
Image differences available at: http://54.193.163.58:8877/c42fbebf5cddf10/reftest-analyzer.html#web=eq.log |
Besides the regressions related to text-stroking, there also seem to be some regressions related to dashed lines in a number of test-cases (e.g. |
Yeah I noticed the ones about the dashed lines but I don't see them locally. |
/botio test |
From: Bot.io (Linux m4)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.241.84.105:8877/406cc048f6e7986/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.193.163.58:8877/28a131d7086d818/output.txt |
From: Bot.io (Linux m4)FailedFull output at http://54.241.84.105:8877/406cc048f6e7986/output.txt Total script time: 23.36 mins
Image differences available at: http://54.241.84.105:8877/406cc048f6e7986/reftest-analyzer.html#web=eq.log |
From: Bot.io (Windows)FailedFull output at http://54.193.163.58:8877/28a131d7086d818/output.txt Total script time: 24.78 mins
Image differences available at: http://54.193.163.58:8877/28a131d7086d818/reftest-analyzer.html#web=eq.log |
I've just tested this patch locally on Windows, using a regular screen (no hiDPI), and I can reproduce this directly in the viewer at various zoom levels. |
e806833
to
13e0422
Compare
/botio test |
From: Bot.io (Linux m4)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.241.84.105:8877/720a4abd1c02227/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.193.163.58:8877/23a4ceccf87846f/output.txt |
From: Bot.io (Windows)FailedFull output at http://54.193.163.58:8877/23a4ceccf87846f/output.txt Total script time: 25.18 mins
Image differences available at: http://54.193.163.58:8877/23a4ceccf87846f/reftest-analyzer.html#web=eq.log |
From: Bot.io (Linux m4)FailedFull output at http://54.241.84.105:8877/720a4abd1c02227/output.txt Total script time: 25.56 mins
Image differences available at: http://54.241.84.105:8877/720a4abd1c02227/reftest-analyzer.html#web=eq.log |
13e0422
to
f91a741
Compare
66ddbd5
to
65ffd0a
Compare
/botio test |
From: Bot.io (Linux m4)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.241.84.105:8877/e6ca30b862798b6/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.193.163.58:8877/92225866e595c28/output.txt |
From: Bot.io (Linux m4)FailedFull output at http://54.241.84.105:8877/e6ca30b862798b6/output.txt Total script time: 23.91 mins
Image differences available at: http://54.241.84.105:8877/e6ca30b862798b6/reftest-analyzer.html#web=eq.log |
From: Bot.io (Windows)FailedFull output at http://54.193.163.58:8877/92225866e595c28/output.txt Total script time: 24.76 mins
Image differences available at: http://54.193.163.58:8877/92225866e595c28/reftest-analyzer.html#web=eq.log |
/botio-linux test |
From: Bot.io (Linux m4)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.241.84.105:8877/76821138ab7fa2c/output.txt |
/botio-windows test |
From: Bot.io (Windows)ReceivedCommand cmd_test from @calixteman received. Current queue size: 0 Live output at: http://54.193.163.58:8877/616fdbfd2bb9add/output.txt |
Note that a bunch of tests failed with |
From: Bot.io (Linux m4)FailedFull output at http://54.241.84.105:8877/76821138ab7fa2c/output.txt Total script time: 23.34 mins
Image differences available at: http://54.241.84.105:8877/76821138ab7fa2c/reftest-analyzer.html#web=eq.log |
From: Bot.io (Windows)FailedFull output at http://54.193.163.58:8877/616fdbfd2bb9add/output.txt Total script time: 24.88 mins
Image differences available at: http://54.193.163.58:8877/616fdbfd2bb9add/reftest-analyzer.html#web=eq.log |
…743245, bug 1710019) - it aims to fix: - https://bugzilla.mozilla.org/show_bug.cgi?id=1753075; - https://bugzilla.mozilla.org/show_bug.cgi?id=1743245; - https://bugzilla.mozilla.org/show_bug.cgi?id=1710019; - issue mozilla#13211; - issue mozilla#14521. - previously we were trying to adjust lineWidth to have something correct after the current transform is applied but this approach was not correct because finally the pixel is rescaled with the same factors in both directions. And sometimes those factors must be different (see bug 1753075). - So the idea of this patch is to apply a scale matrix to the current transform just before setting lineWidth and stroking. This scale matrix is computed in order to ensure that after transform, a pixel will have its two thickness greater than 1.
65ffd0a
to
46369e4
Compare
@Snuffleupagus merci |
From: Bot.io (Linux m4)ReceivedCommand cmd_test from @calixteman received. Current queue size: 1 Live output at: http://54.241.84.105:8877/bd02df6acdb4d89/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_test from @calixteman received. Current queue size: 1 Live output at: http://54.193.163.58:8877/567ff23c77bbbf0/output.txt |
From: Bot.io (Linux m4)FailedFull output at http://54.241.84.105:8877/bd02df6acdb4d89/output.txt Total script time: 24.27 mins
Image differences available at: http://54.241.84.105:8877/bd02df6acdb4d89/reftest-analyzer.html#web=eq.log |
From: Bot.io (Windows)FailedFull output at http://54.193.163.58:8877/567ff23c77bbbf0/output.txt Total script time: 24.83 mins
Image differences available at: http://54.193.163.58:8877/567ff23c77bbbf0/reftest-analyzer.html#web=eq.log |
/botio makeref |
From: Bot.io (Linux m4)ReceivedCommand cmd_makeref from @brendandahl received. Current queue size: 0 Live output at: http://54.241.84.105:8877/733e2bdb15418cd/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_makeref from @brendandahl received. Current queue size: 0 Live output at: http://54.193.163.58:8877/18ab1d9fd068547/output.txt |
From: Bot.io (Windows)SuccessFull output at http://54.193.163.58:8877/18ab1d9fd068547/output.txt Total script time: 20.93 mins
|
From: Bot.io (Linux m4)SuccessFull output at http://54.241.84.105:8877/733e2bdb15418cd/output.txt Total script time: 21.67 mins
|
And sometimes those factors must be different (see bug 1753075).