Bug 193239

Summary: [GTK][WPE] Graphic issue with invalidations on composited layers with subpixel positions
Product: WebKit Reporter: Karl Leplat <karl.leplat_ext>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, bfulgham, cgarcia, cmarcelo, commit-queue, ews-watchlist, fred.wang, hyatt, kondapallykalyan, loic.yhuel, luiz, magomez, mcatanzaro, noam, olivier.blin, rniwa, simon.fraser, webkit-bug-importer, zalan, zan
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews101 for mac-sierra
none
Archive of layout-test-results from ews114 for mac-sierra
none
Archive of layout-test-results from ews106 for mac-sierra-wk2
none
Archive of layout-test-results from ews121 for ios-simulator-wk2
none
Patch
none
Archive of layout-test-results from ews124 for ios-simulator-wk2
none
Patch
none
Patch
none
Archive of layout-test-results from ews101 for mac-sierra
none
Archive of layout-test-results from ews104 for mac-sierra-wk2
none
Archive of layout-test-results from ews114 for mac-sierra
none
Archive of layout-test-results from ews122 for ios-simulator-wk2
none
Patch
none
Patch
none
Patch none

Description Karl Leplat 2019-01-08 09:03:40 PST
Created attachment 358598 [details]
Patch

3 In compositing mode, rendering artifacts have been detected on the repaint of elements on subpixel position.
  4 We suspect a problem on rounding when rects are invalidated in the backing store, this bug is reproducible on WebKit GTK and WPE.
  5 This bug is not reproducible with compositing mode disabled.
  6 
  7 Graphic layer positons for this layoutTest :
  8                         invalidate/repaint rect
  9 ------------20px           ------------21px rounded from 20,796875px
 10 -    32px  -               -    31px  - missing 1px of height ??
 11 ------------52px    ---->  ------------ 
 12 -    33px  -
 13 ------------84px
 14 -    32px  -
 15 ------------
Comment 1 Karl Leplat 2019-01-08 09:09:46 PST
Created attachment 358600 [details]
Patch
Comment 2 Karl Leplat 2019-01-08 09:14:58 PST
Created attachment 358601 [details]
Patch
Comment 3 Michael Catanzaro 2019-01-08 09:30:30 PST
Comment on attachment 358601 [details]
Patch

In the test, can you try to explain what the expected results should look like? Otherwise, when it changes slightly, we'll likely update the expected result without understanding that the test really is failing.
Comment 4 EWS Watchlist 2019-01-08 10:09:45 PST
Comment on attachment 358601 [details]
Patch

Attachment 358601 [details] did not pass mac-ews (mac):
Output: https://webkit-queues.webkit.org/results/10672474

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 5 EWS Watchlist 2019-01-08 10:09:47 PST
Created attachment 358608 [details]
Archive of layout-test-results from ews101 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 6 EWS Watchlist 2019-01-08 10:49:53 PST
Comment on attachment 358601 [details]
Patch

Attachment 358601 [details] did not pass mac-debug-ews (mac):
Output: https://webkit-queues.webkit.org/results/10672630

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 7 EWS Watchlist 2019-01-08 10:49:55 PST
Created attachment 358614 [details]
Archive of layout-test-results from ews114 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 8 EWS Watchlist 2019-01-08 10:59:36 PST
Comment on attachment 358601 [details]
Patch

Attachment 358601 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/10673062

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 9 EWS Watchlist 2019-01-08 10:59:38 PST
Created attachment 358615 [details]
Archive of layout-test-results from ews106 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 10 Zan Dobersek 2019-01-08 11:09:42 PST
Is this bug related in some way to bug #192554?
Comment 11 Loïc Yhuel 2019-01-08 13:15:15 PST
(In reply to Zan Dobersek from comment #10)
> Is this bug related in some way to bug #192554?

These are two issues we see with subpixel positions and AC layers.
Perhaps there is a common solution which would round-up the coordinates earlier, but we don't see it.

Sometimes the repaint rect is too small : changing the background color of a div would invalidate a rectangle smaller than the one used to draw the background, leaving one pixel line of the previous color (this is this bug).

Sometimes the positions seem incorrect, leaving a blank line between two consecutive blocks.
This is for example a scrolling list, where two consecutive items may be spaced by a pixel line or not during the transition, showing artifacts (a line of the background behind the items) and/or wobbling (the relative positions of two items varies by 1 pixel).
Comment 12 EWS Watchlist 2019-01-08 14:21:44 PST
Comment on attachment 358601 [details]
Patch

Attachment 358601 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/10675030

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 13 EWS Watchlist 2019-01-08 14:21:47 PST
Created attachment 358638 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.6
Comment 14 Karl Leplat 2019-01-09 01:53:12 PST
Created attachment 358682 [details]
Patch
Comment 15 EWS Watchlist 2019-01-09 04:04:42 PST
Comment on attachment 358682 [details]
Patch

Attachment 358682 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/10682480

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 16 EWS Watchlist 2019-01-09 04:04:44 PST
Created attachment 358692 [details]
Archive of layout-test-results from ews124 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.6
Comment 17 Karl Leplat 2019-01-09 06:29:00 PST
Created attachment 358699 [details]
Patch
Comment 18 Karl Leplat 2019-01-09 07:02:08 PST
Created attachment 358700 [details]
Patch
Comment 19 EWS Watchlist 2019-01-09 08:04:43 PST
Comment on attachment 358700 [details]
Patch

Attachment 358700 [details] did not pass mac-ews (mac):
Output: https://webkit-queues.webkit.org/results/10684675

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 20 EWS Watchlist 2019-01-09 08:04:45 PST
Created attachment 358704 [details]
Archive of layout-test-results from ews101 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 21 EWS Watchlist 2019-01-09 08:15:00 PST
Comment on attachment 358700 [details]
Patch

Attachment 358700 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/10684748

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 22 EWS Watchlist 2019-01-09 08:15:03 PST
Created attachment 358705 [details]
Archive of layout-test-results from ews104 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 23 EWS Watchlist 2019-01-09 08:52:26 PST
Comment on attachment 358700 [details]
Patch

Attachment 358700 [details] did not pass mac-debug-ews (mac):
Output: https://webkit-queues.webkit.org/results/10684803

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 24 EWS Watchlist 2019-01-09 08:52:28 PST
Created attachment 358707 [details]
Archive of layout-test-results from ews114 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 25 EWS Watchlist 2019-01-09 09:14:40 PST
Comment on attachment 358700 [details]
Patch

Attachment 358700 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/10684838

New failing tests:
compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
Comment 26 EWS Watchlist 2019-01-09 09:14:46 PST
Created attachment 358709 [details]
Archive of layout-test-results from ews122 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.6
Comment 27 Karl Leplat 2019-01-09 09:25:01 PST
Created attachment 358711 [details]
Patch
Comment 28 Zan Dobersek 2019-01-10 02:15:17 PST
Comment on attachment 358711 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=358711&action=review

Thanks for getting this passing on EWS bots.

Final nitpick:

> Source/WebCore/ChangeLog:11
> +        Test: compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
> +
> +        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
> +        (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):

Provide a small description of the change here, as is done for other entries. Something like "Use enclosed dirty rect values when invalidating the CoordinatedBackingStore areas".
Comment 29 Karl Leplat 2019-01-10 05:47:10 PST
Created attachment 358785 [details]
Patch
Comment 30 WebKit Commit Bot 2019-01-11 12:42:10 PST
Comment on attachment 358785 [details]
Patch

Rejecting attachment 358785 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-02', 'land-attachment', '--force-clean', '--non-interactive', '--parent-command=commit-queue', 358785, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=358785&action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=193239&ctype=xml&excludefield=attachmentdata
Processing 1 patch from 1 bug.
Updating working directory
Processing patch 358785 from bug 193239.
Fetching: https://bugs.webkit.org/attachment.cgi?id=358785
Failed to run "['git', 'svn', 'dcommit', '--rmdir']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	A	LayoutTests/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
	A	LayoutTests/platform/gtk/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/gtk/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	A	LayoutTests/platform/ios/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/ios/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	A	LayoutTests/platform/mac/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/mac/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	A	LayoutTests/platform/wpe/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/wpe/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	M	LayoutTests/ChangeLog

ERROR from SVN:
Item is out of date: File '/trunk/LayoutTests/ChangeLog' is out of date
W: 74454ccad96b0275187a5892988dbf5589eb9406 and refs/remotes/origin/master differ, using rebase:
:040000 040000 1894bb26b40fb8901c50fc16f39576b9c13df014 8a204ad02bc64abbbca32b0ad4a1d735df28d667 M	LayoutTests
:040000 040000 651f2847bacd5d0a2c3ecf0ef0b7e057d2a61a21 13dd561a3ef46fe5e9f56838dbba6915e1d727f3 M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run "['git', 'svn', 'dcommit', '--rmdir']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	A	LayoutTests/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions.html
	A	LayoutTests/platform/gtk/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/gtk/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	A	LayoutTests/platform/ios/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/ios/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	A	LayoutTests/platform/mac/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/mac/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	A	LayoutTests/platform/wpe/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.png
	A	LayoutTests/platform/wpe/compositing/repaint/invalidations-on-composited-layers-with-subpixel-positions-expected.txt
	M	LayoutTests/ChangeLog

ERROR from SVN:
Item is out of date: File '/trunk/LayoutTests/ChangeLog' is out of date
W: 74454ccad96b0275187a5892988dbf5589eb9406 and refs/remotes/origin/master differ, using rebase:
:040000 040000 1894bb26b40fb8901c50fc16f39576b9c13df014 8a204ad02bc64abbbca32b0ad4a1d735df28d667 M	LayoutTests
:040000 040000 651f2847bacd5d0a2c3ecf0ef0b7e057d2a61a21 13dd561a3ef46fe5e9f56838dbba6915e1d727f3 M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run "['git', 'svn', 'dcommit', '--rmdir']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: https://webkit-queues.webkit.org/results/10716538
Comment 31 Karl Leplat 2019-01-13 23:58:38 PST
Created attachment 359021 [details]
Patch
Comment 32 WebKit Commit Bot 2019-01-14 02:32:10 PST
Comment on attachment 359021 [details]
Patch

Clearing flags on attachment: 359021

Committed r239919: <https://trac.webkit.org/changeset/239919>
Comment 33 WebKit Commit Bot 2019-01-14 02:32:12 PST
All reviewed patches have been landed.  Closing bug.
Comment 34 Radar WebKit Bug Importer 2019-01-14 02:33:53 PST
<rdar://problem/47248316>