Closed Bug 1646202 Opened 4 years ago Closed 4 years ago

Rectangles with parts of previous web page appearing on page (Intel HD Graphics 630)

Categories

(Core :: Graphics: WebRender, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr68 --- unaffected
firefox77 --- unaffected
firefox78 --- ?
firefox79 --- disabled

People

(Reporter: yoasif, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files)

Been seeing some random graphical issues recently where pieces of other web pages flash inside a web page. They are most often rectangles with two sides on the viewport edge.

They seem to go away as soon as I switch away from the window, so it has been hard to get a screen capture.

I captured one today on my phone.

See video.

The page I was on was about:config, and the flashing page is https://support.mozilla.org/en-US/kb/enable-drm?as=u&utm_source=inproduct

This doesn't always flash, but it did this time. Also attaching a wr-capture.

wr-capture: https://drive.google.com/file/d/1lsGmZRg-aXbNUGiXA8IGCvS08DrK3fbI/view?usp=sharing

Attached file about:support
Summary: Random pieces of previous web page appearing on page (Intel HD Graphics 630) → Rectangles with parts of previous web page appearing on page (Intel HD Graphics 630)

Did this seems to just start happening in 79? Or do you remember seeing it before?

Flags: needinfo?(yoasif)

Jessie, this is fairly recent - I'm pretty sure it is new in 79.

Flags: needinfo?(yoasif)

Asif - if we can determine a to reproduce it reliably, we could perhaps try out mozregression to see if that uncovers anything interesting

GW - just NI-ing you to take a peak if anything looks interesting if the capture here: https://bugzilla.mozilla.org/show_bug.cgi?id=1646202#c0

Flags: needinfo?(yoasif)
Flags: needinfo?(gwatson)

gfx.webrender.max-partial-present-rects: -1

Is this caused by partial present on Wayland? Does it still occur if you disable it?

OS: Unspecified → Linux
Hardware: Unspecified → x86_64

Is this caused by partial present on Wayland? Does it still occur if you disable it?

I would suspect probably, but not sure. Disabling it now to see if I continue seeing it afterwards.

Partial present does seem mostly likely to be related here.

If it is the case, it would be very helpful to know if it occurs only on Wayland, or also on X11.

I vaguely recall seeing something written recently that partial present is only a hint on wayland, and that the rest of the texture needs to remain valid. I might be misremembering, but that might be relevant here (although, the textures should remain valid in all cases I can think of, but maybe they don't).

Flags: needinfo?(gwatson)
See Also: → 1620076

X11 doesn't have EGL and partial present yet. (bug 1640048 awaits review.)

X11 doesn't have EGL and partial present yet. (bug 1640048 awaits review.)

So I can log out of my X11 session (and go back to Wayland) and disable partial present again?

Flags: needinfo?(jan)

(In reply to Glenn Watson [:gw] from comment #7)

Partial present does seem mostly likely to be related here.

If it is the case, it would be very helpful to know if it occurs only on Wayland, or also on X11.

Partial present only works with EGL, thus this is blocked by bug 1640048

I vaguely recall seeing something written recently that partial present is only a hint on wayland, and that the rest of the texture needs to remain valid. I might be misremembering, but that might be relevant here (although, the textures should remain valid in all cases I can think of, but maybe they don't).

This is indeed the case - Wayland compositors do not take a copy but require the clients to always provide a completely valid buffer. But the same is true for X11 (talking about EGL_KHR_swap_buffers_with_damage). The author of the patch from bug 1620076 was aware of that though.

Greg, do have an idea?

Flags: needinfo?(greg)

Yes, try Wayland, but with partial present disabled (default) to verify that it doesn't come back then.

Flags: needinfo?(jan)

Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.

Yeah, that's why partial is not enabled by default yet. Artifacts still can happen, in some places because WebRender is not reporting damage properly, but there could be EGL specific reasons too. I haven't seen any artifacts lately on my Radeon system, but I haven't really tried on Intel yet; iris is a new driver that can still be buggy sometimes.

gfx.webrender.debug.slow-frame-indicator: true

webrender profiler has been broken with partial, I wonder if other WR debug overlays could cause issues too.

Flags: needinfo?(greg)

I've been browsing for a day (even with slow-frame-indicator sometimes), couldn't get any artifacts. that's on iris (kaby lake) with recent mesa git and wayfire.

There was a similar looking bug on Win7 (bug 1637497 comment 8) when partial present was enabled without having DwmComposition (=using a non-Aero theme). Edit: But that one occured when switching windows.

I have been browsing for a day without partial present and I haven't seen the issue yet.

Flags: needinfo?(yoasif)
No longer blocks: gfx-triage
Severity: -- → S3

Oops, I wasn't running WR at all today after my nightly update:

(#0) Error	window is null
(#1) Error	Failed to create EGLSurface
(#2) Error	We don't have EGLSurface to draw into. Called too early?
(#3) Error	We don't have EGLSurface to draw into. Called too early?
(#4) Error	Compositors might be mixed (5,2)

Does that happen right on startup or only after opening an addon panel (bug 1645677) or activating autoscroll (bug 1638084)?

I never use autoscroll - I suppose it might happen on opening an add-on panel, but I didn't notice it happening. I'll keep my eye out.

heh, I can get artifacts now: on YouTube's little playlist side panel under a video (when in theater mode).

Gnome Wayland, Debian Testing, Macbook Pro, Intel Iris Graphics 6100 (BDW GT3), Mesa 20.1.1
Apart from bug 1640617 I haven't seen a single problem with Wayland partial present. But if I get a fallback to the old OpenGL compositor due to autoscroll or addon panels, I see intermittent artifacts on Bugzilla and extreme checkerboarding.

If anyone sees an artifact, please open about:support, check that Compositing is still WebRender and leave a comment.

FYI, I had disabled partial present with WR enabled for over a week and have not seen this issue. I'm going to go ahead and re-enable it now. Would a WR capture after the issue appears (if it appears) help?

Blocks: wayland
No longer blocks: wr-linux-mvp
See Also: → 1640858

(In reply to Asif Youssuff from comment #22)
With bug 1640858 fixed (Nightly >= 20200930214529), please reenable partial present: gfx.webrender.max-partial-present-rects=1
If you still see this bug, bug 1668472 might be related.

Please reopen this bug if you see it again. Thanks!

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: