Closed Bug 1489337 Opened 6 years ago Closed 6 years ago

snap-perspective-1.html reftest sets preserve-3d when it (probably) shouldn't.

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: gw, Assigned: mattwoodrow)

References

Details

Attachments

(1 file)

In the snap-perspective-1.html reftest, Gecko passes the stacking context style as preserve-3d, since there is a perspective matrix.

The WR code shouldn't need this, since it knows to propagate a perspective matrix down to child stacking contexts.

However, the presence of preserve-3d here confuses WR into creating a 3d rendering context, which is the incorrect behavior (and also a performance overhead, since it draws 3d rendering contexts to offscreen surfaces).
I *think* the correct behavior here is for the Gecko code to only pass preserve-3d as a stacking context flag when it is explicitly specified in the CSS (that's the expectation of WR, anyway).
Assignee: nobody → matt.woodrow
Comment on attachment 9007088 [details]
Bug 1489337 - Don't set preserve-3d to true when creating WebRender commands for nsDisplayPerspective since it's not needed. r?jrmuizel

Jeff Muizelaar [:jrmuizel] has approved the revision.
Attachment #9007088 - Flags: review+
Hey Matt -- does P2 feel right? (I noticed Glenn filed this as a blocker, but I don't think that was intentional.)  Is it worth investigating the test failures and getting this in before the patch rots?
Flags: needinfo?(matt.woodrow)
Priority: -- → P2
Yeah it does. I'm just waiting for the current set of WebRender transform (and backface-visibility) changes to land, and then I'll rebase on top of that and investigate what failures remain.
Flags: needinfo?(matt.woodrow)
Yup, I initially flagged it as a blocker as I (incorrectly) thought it was causing some issues with the 3d transforms patches.

Feel free to ping me if you do get failures after rebasing.
I had to mark a couple of web-platform-tests as failing since they had small fuzzy differences.

Setting a dependency on the wpt fuzzy support so that we can change these to fuzzy at some point.
Depends on: 1478472
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/368cda88b85f
Don't set preserve-3d to true when creating WebRender commands for nsDisplayPerspective since it's not needed. r=jrmuizel
Flags: needinfo?(matt.woodrow)
Depends on: 1492133
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/76d218ea875e
Don't set preserve-3d to true when creating WebRender commands for nsDisplayPerspective since it's not needed. r=jrmuizel
https://hg.mozilla.org/mozilla-central/rev/76d218ea875e
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Blocks: 1492859
Depends on: 1493264
See Also: → 1504590
No longer depends on: 1493264
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: