Closed Bug 1170394 Opened 10 years ago Closed 9 years ago

WebVR-rendered container layers don't properly support intermediate surface rendering (opacity, css filters, etc.)

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jcarpenter, Unassigned)

References

Details

(Whiteboard: [gfx-noted][webvr][vrm2][css-vr])

Attachments

(1 file)

Am experimenting with CSS filters in web VR prototypes and seeing glitches when animating the transform of an element that has a css filter applied. The type and number of filters does not seem to matter. In every case, the visibility of the animated element pops in and out erratically for the duration of the tween. Screencap attached. That's taken from fullscreen VR mode, but the behavior is the same in normal mode. === Code === .container { height: 40cm; width: 30cm; filter: grayscale(0.5) blur(10px); } *:-moz-full-screen .container--mono { transform: translate(-50%, -50%) translate3d(0, 0, -34cm); } @keyframes container-pushBack { from { transform: translate(-50%, -50%) translate3d(0, 0, -34cm) scale(1, 1); } to { transform: translate(-50%, -50%) translate3d(0, 0, -38cm) scale(0.75, 0.75); } } ... And am specifying the css animation rules in JS as: 'container-pushBack 0.3s ease forwards';
Sorry, very important caveat to mention: these glitches are being observed in a VR web app that we're building on top of modified versions of Gecko. So it's very possible that the graphics work being landed by Jip and Vlad may be the root cause. I have not had a chance to generate a test in standard Nightly or Release yet.
Flags: needinfo?(jcarpenter)
Can you test in standard Nightly and attach a test case?
Whiteboard: [gfx-noted]
Flags: needinfo?(jcarpenter)
Flags: needinfo?(jcarpenter)
Flags: needinfo?(jcarpenter)
Whiteboard: [gfx-noted] → [gfx-noted][webvr]
Hi Jeff, sure thing. Will follow up.
This is a webvr-only bug -- there is currently brokenness in DefaultComputeEffectiveTransforms that causes using an intermediate surface (which is needed for filters/opacity) to not work.
Summary: Glitches when animating transform of element with CSS filters → WebVR-rendered container layers don't properly support intermediate surface rendering (opacity, css filters, etc.)
Whiteboard: [gfx-noted][webvr] → [gfx-noted][webvr][vrm2]
Whiteboard: [gfx-noted][webvr][vrm2] → [gfx-noted][webvr][vrm2][css-vr]
The CSS VR rendering path involved in this bug has been removed as part of WebVR 1.1
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: