Closed Bug 1186204 Opened 9 years ago Closed 3 months ago

make animations of transform with backface-visibility:hidden work on the compositor thread

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

RESOLVED FIXED
124 Branch
Tracking Status
firefox42 --- wontfix
firefox124 --- fixed

People

(Reporter: dbaron, Assigned: emilio)

References

(Blocks 3 open bugs)

Details

Attachments

(1 file)

In bug 1186061 I'm going to disable compositor-thread (off-main-thread, OMT) animation of transform animations that have backface-visibility:hidden.

This bugs covers reenabling them, which I believe means detecting that the transform animation has crossed from showing the front face to showing the back face, and thus that we need to rerender.  This gets complicated in combination with preserve-3d (which we also don't support doing on the compositor).
I don't think we need to rerender when we transition, since any 'backface' that is expected to become visible should be a separate element (with a separate layer).

I think we can get away with just having a flag specifying that the backface is hidden, and have the compositor cull the layer if necessary.
According the discussion on a mail loop with dbaron and Matt, we are ready to move backface hidden and transform animation to the compositor.
Cool! So what's necessary here? Just a layer flag for backface-visibility, and the LayerManagerComposite code to not render those layers if they face away from the camera?
Oh! And the patch in bug 779598 already removes the backface-visibility check.
The problem that this bug tried to fix had been fixed by other bugs.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Reopening since I am going to fix only preserve-3d case in bug 779598.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Blocks: 1506758
Blocks: 1487412
Severity: normal → S3
Blocks: 1826704

Hiro, do you know what exactly doesn't work here nowadays if we remove this check? Maybe WebRender deals fine with them?

Flags: needinfo?(hikezoe.birchill)

The only one test case I could recall is animate-backface-hidden.html. I confirmed the test case works fine even without the check locally. So yeah, now we can drop the check.

Flags: needinfo?(hikezoe.birchill)
Duplicate of this bug: 1826704

The check is not fully correct as per the comment (bug 779598 removed
the preserve-3d check).

I went through the relevant bugs and nothing misbehaves with this
afaict.

Assignee: nobody → emilio
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/51c5d71d8ff4
Allow animations with backface-visibility: hidden to run in the compositor. r=firefox-animation-reviewers,devtools-reviewers,nchevobbe,boris
Status: REOPENED → RESOLVED
Closed: 7 years ago3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 124 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: