New issue
Advanced search Search tips

Issue 655733 link

Starred by 4 users

Issue metadata

Status: Started
Merged: issue 655722
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Feature
Proj-XR

Blocked on:
issue 690106



Sign in to add a comment

WebVR mobile: render directly to the surface that we want

Project Member Reported by meganlindsay@chromium.org, Oct 13 2016

Issue description

Tracking removing the current full screen hack and moving to rendering directly to the surface we want.
 

Comment 1 by klausw@chromium.org, Nov 18 2016

Mergedinto: 655722
Status: Duplicate (was: Assigned)
Merging into crbug/655722 "bypass compositor to reduce latency" which includes this change.
Blockedon: 690106
Labels: -Pri-1 -M-56 Pri-2
Status: Started (was: Duplicate)
Reopening the issue. Originally it was planned to address this at the same time as  issue 655722  "bypass compositor to reduce latency", but the prerequisite change https://codereview.chromium.org/2586803003 needed to be rolled back due to GPU issues with virtualized contexts, see issue 690106.

Comment 4 by klausw@chromium.org, Feb 16 2017

Labels: -Pri-2 M-58 Pri-3
Marking as P3 (stretch goal) for M58 since we can also do compositor bypass with an extra copy (see  issue 655722 ), but saving that copy would be beneficial. It looks as if there's very little extra code needed to make the direct draw path work.
Project Member

Comment 5 by bugdroid1@chromium.org, Feb 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/89ec62330efc014949d78367b94de89c4a7b5405

commit 89ec62330efc014949d78367b94de89c4a7b5405
Author: klausw <klausw@chromium.org>
Date: Sat Feb 18 18:47:57 2017

This is an updated version of issue 2586803003 which was reverted.
I have removed the problematic "low priority" GL context setting and
made the change conditional on a new ""WebVR experimental rendering
optimizations" feature flag.

When enabled, it uses the own_offscreen_surface flag with WebGL contexts
when WebVR is enabled, to allow the surface to be swapped out with a
compatible one if used for VR presentation later. This must be done
before any WebVR API calls have been made, so it also needs to work
for non-WebVR WebGL canvas drawing.

The change includes support for canvas attributes such as "antialias".

The feature flag is intended to control features which are considered
experimental or risky, so that they can be manually enabled for initial
testing. It is also in preparation for a finch experiment for future
rollout.

BUG=655733
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2698573002
Cr-Commit-Position: refs/heads/master@{#451484}

[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/chrome/app/generated_resources.grd
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/chrome/browser/about_flags.cc
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/content/child/runtime_features.cc
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/content/public/common/content_features.cc
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/content/public/common/content_features.h
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/Source/modules/webgl/WebGLContextAttributeHelpers.cpp
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/Source/modules/webgl/WebGLContextAttributeHelpers.h
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/Source/web/WebRuntimeFeatures.cpp
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/public/platform/Platform.h
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/third_party/WebKit/public/web/WebRuntimeFeatures.h
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/89ec62330efc014949d78367b94de89c4a7b5405/ui/gl/gl_surface_egl.cc

Comment 6 by klausw@chromium.org, Mar 13 2017

Labels: -M-58 M-59
Bumping to M59 since this definitely won't be in M58.
Labels: -M-59
Components: Blink>WebXR
Removing Blink>WebVR component and assigning to Blink>WebXR 
Components: -Blink>WebVR

Sign in to add a comment