Closed Bug 1694750 Opened 4 years ago Closed 4 years ago

3D view tour is distorted on youriguide.com

Categories

(Core :: Graphics: WebRender, defect)

Firefox 88
defect

Tracking

()

VERIFIED FIXED
88 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- wontfix
firefox87 --- verified
firefox88 --- verified

People

(Reporter: ksenia, Assigned: gw)

References

(Regression, )

Details

(Keywords: regression)

Attachments

(3 files)

There seems to be a regression causing a distortion in 3d tours on https://youriguide.com/api-docs-sample.

To reproduce:

  1. Visit https://youriguide.com/api-docs-sample in Firefox Nightly 88.0a1 (2021-02-24)
  2. Move around in the space and observe the room

Expected:
3d tour perspective is accurate

Actual:
3d tour is distorted

I run mozregression and it pointed to 1687409 and 1687394.

18:19.75 INFO: Narrowed integration regression window from [0d5d7994, cfdebb86] (3 builds) to [0d5d7994, e2cc4497] (2 builds) (~1 steps left)
18:19.75 INFO: No more integration revisions, bisection finished.
18:19.75 INFO: Last good revision: 0d5d7994edd462a194a00773922ef7b9471fa273
18:19.75 INFO: First bad revision: e2cc4497cada527659f40f95ebd2424c18e3cec6
18:19.75 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=0d5d7994edd462a194a00773922ef7b9471fa273&tochange=e2cc4497cada527659f40f95ebd2424c18e3cec6

This is the same view before the change

Hi Glenn, would you be able to take a look into this?

Flags: needinfo?(gwatson)

I can reproduce the bug, thanks for the report.

I confirmed that https://bugzilla.mozilla.org/show_bug.cgi?id=1687409 is the patch that causes the regression.

However, without that patch, I often see black patches where no polygons are being drawn at all (see attached screenshot). I also see these same black patches if I compile Firefox from before when either of those patches landed.

Have you ever seen those black patches previously?

Assignee: nobody → gwatson
Flags: needinfo?(gwatson)

For now, we will revert this patch since it's not relied on
elsewhere yet, while we find a correct fix for this regression.

Revert "Bug 1687409 - Use offscreen surface for backface visibility + non-preserve3d stacking contexts r=nical"

This reverts commit 2f5002791fa9671aa5c0e6573d28b52d5c978942.

For reference, when revisiting this patch - the issue is that the content results in:

SC (!bf-visible)
  SC (!bf-visible)
    SC (!bf-visible)
      Image

The patch results in each of those being allocated a surface, and it looks like there is double perspective (or similar) applied, since the intermediate surfaces seem to result in the transform being applied multiple times. Note that there is no preserve-3d context active here.

One possible fix is collapsing those stacking contexts with a surface + single primitive, so that we only allocate a single surface.

However, without that patch, I often see black patches where no polygons are being drawn at all (see attached screenshot). I also see these same black patches if I compile Firefox from before when either of those patches landed.

Have you ever seen those black patches previously?

Thanks for looking into this. I also see the black patches on Firefox release on Mac and tried running mozregression to see when they started appearing. It points to 1648601.

https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=d4d4563523acc5f8975b086d46fc382749dd5a7b&tochange=a1336e13d8ae8947a7b1f87a94cb37c74b32a3e9

Fwiw, tried the 3d tour with and without webrender enabled and still see the black patches. I can probably file a separate bug for that

Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6cdad72b6c3c Revert backface surface patch for regression. r=nical
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
See Also: → 1695318
Blocks: 1688500
Regressed by: 1687409
Has Regression Range: --- → yes

Set release status flags based on info from the regressing bug 1687409

The patch landed in nightly and beta is affected.
:gw, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(gwatson)

Comment on attachment 9205274 [details]
Bug 1694750 - Revert backface surface patch for regression.

Beta/Release Uplift Approval Request

  • User impact if declined: Rendering artifacts on some pages that use nested divs with backface-visibility: false
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: Per the bug report
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It's a revert of a small patch, removing a patch that was causing a regression.
  • String changes made/needed:
Flags: needinfo?(gwatson)
Attachment #9205274 - Flags: approval-mozilla-beta?
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

Reproduced the initial issue using old Nightly from 2021-02-22, verified that this is no longer an issue using latest Nightly from today 2021-03-02 across platforms (Windows 10 64bit, macOS 11.3 and Ubuntu 18.04 64bit). The black patches are still there, but for that there is already a bug logged (bug 1695318).

Comment on attachment 9205274 [details]
Bug 1694750 - Revert backface surface patch for regression.

approved for 87.0b6

Attachment #9205274 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Also verified that this is fixed in Firefox 87 beta 5 from treeherder across platforms.

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: