Closed Bug 1836703 Opened 1 years ago Closed 1 year ago

Drop shadow gets cut off

Categories

(Core :: Graphics: WebRender, defect, P2)

Firefox 113
defect

Tracking

()

RESOLVED FIXED
117 Branch
Tracking Status
firefox-esr102 --- wontfix
firefox-esr115 --- wontfix
firefox114 --- wontfix
firefox115 --- wontfix
firefox116 --- wontfix
firefox117 --- fixed

People

(Reporter: agnijith, Assigned: gw)

References

(Blocks 1 open bug, )

Details

(Keywords: regression, regressionwindow-wanted)

Attachments

(6 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0

Steps to reproduce:

  1. Go to https://solid-js-lesson.web.app
  2. Set the "Drop shadow" slider to maximum
  3. Fiddle with any of the other sliders

Actual results:

The drop shadow gets cut off intermittently (this happens on both desktop and mobile versions of Firefox)

Expected results:

The drop shadow should be always visible and should not get cut off

The issue does not happen in WebKit/Blink browsers.

The Bugbug bot thinks this bug should belong to the 'Core::Graphics: WebRender' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core
Flags: needinfo?(gwatson)

(In reply to FlameWolf from comment #0)

Created attachment 9337401 [details]
drop-shadow-error-02.png

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0

Steps to reproduce:

  1. Go to https://solid-js-lesson.web.app
  2. Set the "Drop shadow" slider to maximum
  3. Fiddle with any of the other sliders

Actual results:

The drop shadow gets cut off intermittently (this happens on both desktop and mobile versions of Firefox)

Expected results:

The drop shadow should be always visible and should not get cut off

The URL has changed to https://css-filters.web.app.

I only lose the drop shadow when I run Inversion up to 100% (which I guess is not unexpected). All other sliders maintain the drop shadow for me. Tested in Fx113.0.2 (Release) with SW/WR, and Fx115.0a1 (Nightly) with acceleration.

Can we get your about:config output attached to this report, please?

Severity: -- → S3
Priority: -- → P2
Attached file about:support
Assignee: nobody → gwatson
Flags: needinfo?(gwatson)
QA Whiteboard: [qa-regression-triage]
Attached file aboutConfig.zip

(In reply to Bob Hood [:bhood] from comment #5)

I only lose the drop shadow when I run Inversion up to 100% (which I guess is not unexpected). All other sliders maintain the drop shadow for me. Tested in Fx113.0.2 (Release) with SW/WR, and Fx115.0a1 (Nightly) with acceleration.

Can we get your about:config output attached to this report, please?

Done.

This bug has been marked as a regression. Setting status flag for Nightly to affected.

:gw have you determined the regressor on this? See Comment 3, looks like it was introduced in Fx100.
Do you plan on taking a look soon, wondering if we can expect something in time for Fx115

Flags: needinfo?(gwatson)

I won't be able to look at this in time for 115.

Flags: needinfo?(gwatson)

I can easily reproduce this on latest Nightly 117.0a1 on Ubuntu 23.04 with a clean profile with SW-WR and HW-WR. It seems to be more extreme and reproducible at certain window sizes or after resizing, if you don't see it, try reducing the window size.

I can also reproduce locally. It looks like an invalidation issue where the slider elements are being invalidated and redrawn, but without the drop-shadow. On my machine, setting gfx.webrender.debug.force-picture-invalidation to true works around the bug, which seems to confirm it's an invalidation problem. Is anyone else able to confirm if that pref also works around it for them (not a usable workaround, just to confirm where the bug exists).

A minimal repro case:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
    <style type="text/css">
        div {
            position: absolute;
        }

        @keyframes spin {
            from {
                transform: rotate(0turn);
            }
            to {
                transform: rotate(1turn);
            }
        }

        #anim {
            animation: spin 500ms;
            animation-timing-function: linear;
            animation-iteration-count: infinite;
            width: 30px;
            height: 30px;
            top: 100px;
            left: 600px;
            background: red;
        }

        #content {
            width: 500px;
            height: 300px;
            background: blue;
            filter: drop-shadow(0 0 50px #000);
        }
    </style>
</head>
<body>
    <div id="content"></div>
    <div id="anim"></div>
</body>
</html>

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

I can also reproduce locally. It looks like an invalidation issue where the slider elements are being invalidated and redrawn, but without the drop-shadow. On my machine, setting gfx.webrender.debug.force-picture-invalidation to true works around the bug, which seems to confirm it's an invalidation problem. Is anyone else able to confirm if that pref also works around it for them (not a usable workaround, just to confirm where the bug exists).

Confirmed that setting gfx.webrender.debug.force-picture-invalidation` to true fixes this bug. It also appears to fix bug 1772176 (and probably some other bugs too like bug 1840010 etc.)

There is still a remaining issue in some cases with the color of
the drop-shadow when moving the slider, but this seems to be a
different problem. This patch fixes the main issue.

See Also: → 1772176, 1840010
Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/414eae13279f Fix drop-shadow not invalidating correctly. r=gfx-reviewers,lsalzman

(In reply to Pulsebot from comment #18)

Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/414eae13279f
Fix drop-shadow not invalidating correctly. r=gfx-reviewers,lsalzman

Using this build (https://hg.mozilla.org/integration/autoland/rev/414eae13279f765f368f3b3df2802a75ba957426) , the minimal repro of comment#15 is not 100% fixed.
Please see the attached video.

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 117 Branch

The patch landed in nightly and beta is affected.
:gw, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox116 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(gwatson)
Blocks: 1841525
Flags: needinfo?(gwatson)
See Also: → 1845431
Blocks: 1772972
Duplicate of this bug: 1820278
No longer blocks: 1772972
Duplicate of this bug: 1772972
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: