Open Bug 1258504 Opened 8 years ago Updated 2 years ago

[webvr] Implement VR Compositor to submit WebVR frames to HMD drivers

Categories

(Core :: WebVR, enhancement)

enhancement

Tracking

()

Tracking Status
firefox48 --- affected

People

(Reporter: kip, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: feature, Whiteboard: [webvr])

The WebVR 1.0 API (Bug 1250244) enables a separate RequestAnimationFrame callback for each VR Display as well as a mechanism to explicitly submit frames to VR displays.

PVRManager is already a top level protocol; however, it currently shares the existing Compositor thread.

I propose that we implement a separate thread in the same process as the compositor, which services PVRManagerParent, including reading VR device sensors and submitting frames to VR displays.  Content is expected to send frames as quickly as possible to PVRManager without VSync.

A closed-loop feedback system has been implemented already to associate the input frames and output frames via VRPose to enable latency hiding technologies such as Asynchronous Time Warp and Pose Prediction.  These will work better with the increased frame uniformity achieved with an independent queue and asynchronous operation.

Upcoming additions to the WebVR API, extending the VRLayer interface, will instruct the VR Compositor to capture frames from the regular, non-vr compositor and project them as textures on 3d geometry.  This will be used to enhance video playback, provide backwards compatibility with 2d sites in a VR browser, render CSS based VR elements, and produce HUD interfaces for Chrome-Only UX.
Blocks: 1237693
Whiteboard: [webvr]
Blocks: 1238436
Keywords: feature
Blocks: 1287929
No longer blocks: 1237693
Component: Graphics → WebVR
No longer blocks: 1287929
Type: defect → enhancement

The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.

Assignee: kearwood → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.