Closed Bug 1633574 Opened 5 years ago Closed 5 years ago

Autoscroll anchor is incorrectly rendered with non-compositing window manager

Categories

(Core :: Graphics: WebRender, defect)

Desktop
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1574746
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- disabled
firefox76 --- disabled
firefox77 --- disabled

People

(Reporter: botond, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(2 files)

STR

  1. Run today's Firefox nightly on Linux
  2. Enable "Use autoscrolling" in Preferences
  3. Load a scrollable page (such as planet.mozilla.org)
  4. Position the mouse in the right side of the page
  5. Click the middle mouse button to activate the autoscroll anchor

Expected results

The autoscroll anchor is rendered.

Actual results

Only a white circle is rendered in place of the autoscroll anchor.

Seems to be WebRender related: setting gfx.webrender.forced-disabled=true makes the bug go away.

Component: Layout: Scrolling and Overflow → Graphics: WebRender

Nightly 20200427094322 + latest mc, KDE, X11, Debian Testing, Intel Iris 6100 (Broadwell GT3)
I can't reproduce this bug.
latest m-c: mozregression --launch 2b0e2483e2eaaef7ac49866a98e8e857520bdd5c --pref gfx.webrender.all:true general.autoScroll:true -a https://planet.mozilla.org
bug 1625720 comment 12 fixed bug 1632004 (it was just a grey box for me). Now it is a slightly transparent autoscroll icon.

Regression window with gfx.webrender.all:true points to bug 1549965.

Regressed by: 1549965

(Regression window without gfx.webrender.all:true is the same on my hardware, as WR has been enabled by default since before then.)

non-compositing KDE: Slightly "transparent" autoscroll icon has a round screenshot of the place it was first drawn as background.

on my hardware

Which graphics card, desktop environment and distribution do you have?

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #5)

non-compositing KDE: Slightly "transparent" autoscroll icon has a round screenshot of the place it was first drawn as background.

Yes, that's consistent with what I'm seeing. (When I initially wrote "white circle", it was because I was middle-clicking on a white area of the page.)

on my hardware

Which graphics card, desktop environment and distribution do you have?

Intel HD Graphics 620, KDE, Debian 10.

One more regression range, with layers.gpu-process.force-enabled:true: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=dd386b5b9fa7f5cd6dc4bbbfa0503b3eb2969af5&tochange=02c8644c45b1f143263d30d769d86c2d1058812e. (There are no more granular builds in that range.) Note, the first autoscroll gesture still exhibits the bug even before that range, but subsequent ones are fine.

Activated autoscroll and scrolled a bit down.

It's most likely the same "shaped Basic in GPU process" bug as bug 1567791, but won't be fixed by bug 1574746. Basic should not be used in GPU process.
bug 1574746 will fix bug 1567791 by upgrading main menu, identity panel and page actions menu from Basic to OpenGL. (That introduces a black background behind the main menu like webextension panels already have. That's the same behavior the OpenGL compositor always had.)

With bug 1622633 (WebRender for context menu, autoscroll, tooltips), the autoscroll icon would get a black rectangle as background as well.

bug 1479135 might fix these black backgrounds of shaped widgets on non-compositing window managers by "including shaped window support in the accelerated path".
I have confirmed that https://www.ssec.wisc.edu/~billh/bp/shape.c achieves a shaped OpenGL context. It looks similar to what has been done for Basic: https://hg.mozilla.org/mozilla-central/rev/6af61c29b5497d864fd7c1ceac0084590b097218 ("XShapeCombineMask")

(In reply to Botond Ballo [:botond] from comment #7)

One more regression range, with layers.gpu-process.force-enabled:true: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=dd386b5b9fa7f5cd6dc4bbbfa0503b3eb2969af5&tochange=02c8644c45b1f143263d30d769d86c2d1058812e. (There are no more granular builds in that range.) Note, the first autoscroll gesture still exhibits the bug even before that range, but subsequent ones are fine.

Yep, that's the same as bug 1567791 comment 23.

Blocks: wr-linux
Has Regression Range: --- → yes
Has STR: --- → yes
OS: Unspecified → Linux
Hardware: Unspecified → Desktop
Summary: Autoscroll anchor is incorrectly rendered → Autoscroll anchor is incorrectly rendered with non-compositing window manager

(In reply to Botond Ballo [:botond] from comment #6)

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #5)

non-compositing KDE: Slightly "transparent" autoscroll icon has a round screenshot of the place it was first drawn as background.

Yes, that's consistent with what I'm seeing. (When I initially wrote "white circle", it was because I was middle-clicking on a white area of the page.)

I should clarify further: I just see the "round screenshot of the place it was first drawn", and no autoscroll icon over that background.

Sometimes (like a few minutes ago) I don't see an autoscroll icon at all. Just nothing. My impression is that this occures only with non-compositing KDE.

This is what it looks like to me -- that small round fragment fo displaced background is where the autoscroll indicator should be.

This strongly reminds me of bug 588403.

Playing around with nsViewManager::InvalidateWidgetArea could confirm or deny it being related to that bug.

In comment 8 I had totally missed that bug 1574746 will also upgrade the autoscroll icon from Basic to WebRender.

mozregression --repo try --launch a16df35d2f9e9902ec9f484a15f9a3637f7a2b4d --pref gfx.webrender.all:true general.autoScroll:true
Do you see the autoscroll icon, but with a black background, in this try build?
If yes, we can close this as duplicate of bug 1574746. bug 1479135 is about the remaining problem.

(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #15)

mozregression --repo try --launch a16df35d2f9e9902ec9f484a15f9a3637f7a2b4d --pref gfx.webrender.all:true general.autoScroll:true
Do you see the autoscroll icon, but with a black background, in this try build?

Yes, I do!

Great! :)

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

Attachment

General

Creator:
Created:
Updated:
Size: