[Wayland] Entire window flickers when resizing, showing underlying desktop
Categories
(Core :: Widget: Gtk, defect, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr60 | --- | unaffected |
| firefox-esr68 | --- | unaffected |
| firefox68 | --- | unaffected |
| firefox69 | --- | wontfix |
| firefox70 | --- | verified |
People
(Reporter: nagisa, Assigned: stransky)
References
(Blocks 2 open bugs, Regression)
Details
(Keywords: regression, reproducible)
Attachments
(4 files, 1 obsolete file)
Resizing a Firefox window running in Wayland mode (under sway) makes the window flicker as Firefox redraws the window for the new size.
| Reporter | ||
Comment 1•6 years ago
|
||
It seems that I’m bad at encoding videos for browsers to use. Please download the video and use a more featured player than Firefox to watch it.
Easier to reproduce with the Basic compositor but it can still happen with OpenGL/WebRender (tested with Ubuntu 19.04).
Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=9c8180108cfa432f24743410e25d3b35d07b8584&tochange=82dedcf5872c0df663393a190c1179f1346d2e23
Regressed by Bug 1555899.
Comment 3•6 years ago
|
||
Hi Martin, is this something we need to fix for Fx69? We're building the RC next week.
| Assignee | ||
Comment 4•6 years ago
•
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #3)
Hi Martin, is this something we need to fix for Fx69? We're building the RC next week.
Hi Ryan, I don't have a fix for that right now.
Thanks.
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 5•6 years ago
|
||
Simonas, can you please try to upload the video again? Thanks.
| Assignee | ||
Comment 6•6 years ago
|
||
I think I can reproduce it now, Thanks.
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 7•6 years ago
|
||
If that happens with WebRender/GL compositor it's completely different bug - Bug 1555899 was in basic compositor only.
| Assignee | ||
Comment 8•6 years ago
|
||
Looks like the bug happens when window is shrunk and e10s content is rendered. It's less visible/frequent on in-content pages like about:config.
Updated•6 years ago
|
| Reporter | ||
Comment 9•6 years ago
|
||
Martin, to see the video please watch it locally on a player like mpv.
| Assignee | ||
Comment 10•6 years ago
|
||
Recently window resize on Wayland produces flickering/rendering artifacts because
window background is randomly cleared due to actual window size changes.
We recently query widget size and do clear/fullscreen update when the size changes.
To avoid that, get widget size once at WindowSurfaceWayland::Lock() and use it
until next WindowSurfaceWayland::Lock(). Also don't to switch wayland back buffers
until there's really fullscreen update from compositor.
This patch:
-
Use mLockedScreenRect to store window size at WindowSurfaceWayland::Lock(). It's used
to detect widget resize, when it happens throw away all cached painting and wait for
full screen update. -
Use mBufferScreenRect to store size of wayland back buffer and pass it
instead of actual widget size we used before this patch. This ensures all our
drawing matches the buffer size. -
Rename aFullScreenUpdate to aCanSwitchBuffer at LockWaylandBuffer() to stress
actual meaning - we can/can't switch back buffers for partial drawing and we need to
wait until recent back buffer is released by compositor.
| Assignee | ||
Comment 11•6 years ago
|
||
| Assignee | ||
Updated•6 years ago
|
Comment 12•6 years ago
|
||
Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e351a8f6c71e
[Wayland] Fix flickering during window resize, r=jhorak
Comment 13•6 years ago
|
||
| bugherder | ||
Comment 14•6 years ago
|
||
I can still manage to reproduce this issue in Firefox 71. I've attached a video showing the behaviour I am seeing
| Reporter | ||
Comment 15•6 years ago
|
||
Still reproducible indeed. Attaching a video where this is significantly more prominent.
| Reporter | ||
Updated•6 years ago
|
| Reporter | ||
Updated•6 years ago
|
| Reporter | ||
Comment 16•6 years ago
|
||
Comment 17•6 years ago
|
||
This patch fixed it for me on Ubuntu 19.04 and it is still fixed. Please file a new bug if you are still seeing it on Sway.
Description
•