New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 836496 link

Starred by 3 users

Issue metadata

Status: Closed
Owner:
Last visit > 30 days ago
Closed: Aug 29
Cc:
Components:
EstimatedDays: 3
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Proj-VR
Proj-XR



Sign in to add a comment

Support multiple AR sessions simultaneously

Project Member Reported by lincolnfrog@chromium.org, Apr 24 2018

Issue description

Currently, only one AR XRSession is supported at a time. There are various tasks needed to support multiple AR iframes/tabs properly including:

Some cleanup in xr_webgl_drawing_buffer.cc::OverwriteColorBufferFromMailboxTexture() and its usage:
It would be cleaner to do this calculation in the calling code and just pass in the final size.

if source < dest, should we clear, or are sites expected to clear themselves?
if source != dest, do we need to make sure to update projection matrices?  If so, it might be nice to pass in dest_size here and do that calculation in xr code so we know the right projection matrix.
use ShrunkTo - copy_size = size_in.ShrunkTo(size_) to replace the two std::min lines

Anchors need to be filtered by session so sessions can't see each other's anchors.
 
Labels: Proj-XR-AR
Description: Show this description
Summary: Support multiple AR sessions simultaneously (was: Support multiple AR frames simultaneously)
We also need make the logic around calculating the image size more sophisticated to handle multiple sessions and potentially a mix of exclusive and non-exclusive sessions. See the image-size calculation in xr_frame_provider.cc::RequestFrame().
Labels: -Pri-3 M-68 Pri-2
This is something developers might do and could cause problems in the browser process, so we should fix this soon.

We should probably file a separate issue here and/or against the explainer regarding anchors.
Cc: klausw@chromium.org
As far as image sizes are concerned, we're currently rejecting zero-sized images where it's unclear if these would be valid according to the spec. Also, we're rejecting oversized images over an arbitrary threshold, this is intended to help avoid memory exhaustion or bugs related to integer overflow in size calculations. These limits should be revisited based on what the underlying libraries support. 
Labels: -M-68 M-69
Components: Blink>WebXR
Components: -Blink>WebXR Blink>WebXR>AR
Labels: BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: Blink>WebXR
Labels: -BlinkWebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: -Blink>WebVR
EstimatedDays: 3
Labels: -M-69
This works right now other than for Anchors, which don't exist yet.
Status: Closed (was: Assigned)
Closing as a duplicate of 845704 since this works until we add Anchors.

Sign in to add a comment