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

Issue 819448 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug
Proj-XR
Proj-XR-VR

Blocked on: View detail
issue 787654
issue 873274
issue 787912

Blocking:
issue 773882



Sign in to add a comment

Support (parts of) VR UI in Windows WebVR devices

Project Member Reported by billorr@chromium.org, Mar 7 2018

Issue description

WebVR occasionally needs to show some popup UI on top of the submitted frame from the web contents.

Windows devices don't currently support this as they don't go through VRShell.

Support this on Windows.
 
Blockedon: 787912 787654
Blocking: 773882
Cc: vollick@chromium.org cjgrant@chromium.org
Components: -Internals>VR UI>Browser>VR
Labels: VR-Desktop
Labels: -Pri-3 Pri-1
Labels: VR-Desktop-UI
Blockedon: 873274
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 17

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 17

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

commit a49a96f8104da8a48e92cfa46a9e056e2cd17d01
Author: Bill Orr <billorr@chromium.org>
Date: Mon Sep 17 22:44:51 2018

Share common code between OculusRenderLoop and OpenVRRenderLoop

This change starts to clean up OculusRenderLoop so it can share
a common base class with OpenVRRenderLoop.

BUG= 819448 

Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Iac23f7325fa1af94f53cef6b3a0f42b3b58b1741
Reviewed-on: https://chromium-review.googlesource.com/1227367
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591855}
[modify] https://crrev.com/a49a96f8104da8a48e92cfa46a9e056e2cd17d01/device/vr/oculus/oculus_device.cc
[modify] https://crrev.com/a49a96f8104da8a48e92cfa46a9e056e2cd17d01/device/vr/oculus/oculus_device.h
[modify] https://crrev.com/a49a96f8104da8a48e92cfa46a9e056e2cd17d01/device/vr/oculus/oculus_render_loop.cc
[modify] https://crrev.com/a49a96f8104da8a48e92cfa46a9e056e2cd17d01/device/vr/oculus/oculus_render_loop.h
[modify] https://crrev.com/a49a96f8104da8a48e92cfa46a9e056e2cd17d01/device/vr/openvr/openvr_render_loop.h

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 19

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

commit cf3183c0bbb6009b09624d6bde1405113317d66f
Author: Bill Orr <billorr@chromium.org>
Date: Wed Sep 19 22:20:42 2018

Create a compositor that can composite overlays and WebXR content

This change adds support to OpenVR and Oculus rendering to show
browser-generated overlays on top of WebXR content.  The overlays
are not yet exposed by this change.

BUG= 819448 

Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ic60f65607d03da48e1685d342aa6dd6c532efb29
Reviewed-on: https://chromium-review.googlesource.com/1232876
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592573}
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/oculus/oculus_render_loop.cc
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/oculus/oculus_render_loop.h
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/openvr/openvr_render_loop.cc
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/windows/compositor_base.cc
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/windows/compositor_base.h
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/windows/d3d11_texture_helper.cc
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/windows/d3d11_texture_helper.h
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/windows/flip_vertex_shader.h
[modify] https://crrev.com/cf3183c0bbb6009b09624d6bde1405113317d66f/device/vr/windows/flip_vertex_shader.hlsl

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 2

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

commit 763f8972ef5d9632607a26207e31c9d24173450b
Author: Bill Orr <billorr@chromium.org>
Date: Tue Oct 02 19:41:58 2018

Support basic overlay rendering from the browser process

This change adds infrastructure for the browser process to submit
overlays to the XR compositor on Windows, so notifications and
prompts can be display in headset when necessary.

This adds a concept of a runtime observer in the browser process,
so Windows-specific code may hook in to know when a webpage is
presenting to a headset, and when presentation has ended.

This adds alpha blend support for compositing WebXR and overlays
simultaneously.

This change introduces VRBrowserRendererHostWin and
VRBrowserRendererThreadWin, which are analogues to the Android
VrShell and VrGLThread.

Finally, this change introduces SimpleOverlayRendererWin, which is
throwaway code to demonstrate rendering overlays and submitting them
to the XR compositor.  In a followup, this will be replaced with
rendering through a CommandBuffer so the actual rendering happens
in the GPU process.  The code is not currently enabled.

BUG= 819448 

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I3c790efef66346cb36b8401237efb6ce29fa6e5e
Reviewed-on: https://chromium-review.googlesource.com/1237398
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595948}
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/OWNERS
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/browser_xr_runtime.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/browser_xr_runtime.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/isolated_device_provider.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/isolated_device_provider.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/xr_device_impl.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/xr_device_impl.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/xr_runtime_manager.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/xr_runtime_manager.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/service/xr_runtime_manager_unittest.cc
[add] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/win/simple_overlay_renderer_win.cc
[add] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/win/simple_overlay_renderer_win.h
[add] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/win/vr_browser_renderer_thread_win.cc
[add] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/win/vr_browser_renderer_thread_win.h
[add] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/win/vr_renderloop_host_win.cc
[add] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/browser/vr/win/vr_renderloop_host_win.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/chrome/services/isolated_xr_device/xr_runtime_provider.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/oculus/oculus_device.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/oculus/oculus_device.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/openvr/openvr_device.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/openvr/openvr_device.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/public/mojom/isolated_xr_service.mojom
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/windows/compositor_base.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/windows/compositor_base.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/windows/d3d11_texture_helper.cc
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/windows/d3d11_texture_helper.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/windows/flip_pixel_shader.h
[modify] https://crrev.com/763f8972ef5d9632607a26207e31c9d24173450b/device/vr/windows/flip_pixel_shader.hlsl

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 10

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

commit 85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3
Author: Bill Orr <billorr@chromium.org>
Date: Wed Oct 10 19:07:03 2018

User commandbuffer to render simple overlays for WebXR

This change switches SimpleOverlayRenderer to use command buffer instead of
native D3D11 to render overlays.

Note that SimpleOverlayRenderer is still not enabled by default - only used for
dev testing with code changes to enable it.

BUG= 819448 

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I4833f5773a838326457c56890bd177f3ad7a5ad5
Reviewed-on: https://chromium-review.googlesource.com/c/1259424
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598432}
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/chrome/browser/vr/DEPS
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/chrome/browser/vr/win/simple_overlay_renderer_win.cc
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/chrome/browser/vr/win/simple_overlay_renderer_win.h
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/chrome/browser/vr/win/vr_browser_renderer_thread_win.cc
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/chrome/browser/vr/win/vr_browser_renderer_thread_win.h
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/services/ws/public/cpp/gpu/command_buffer_metrics.cc
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/services/ws/public/cpp/gpu/command_buffer_metrics.h
[modify] https://crrev.com/85159441ba2e0997b6ef89d7f1f3f1a1cfabcee3/tools/metrics/histograms/histograms.xml

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 7

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

commit cee3abc6988dfe4e6c99756198d2f58eccd62873
Author: Bill Orr <billorr@chromium.org>
Date: Wed Nov 07 01:00:22 2018

Implement stub BrowserRenderer delegates and start up BrowserRenderer

This change defines Graphics, Input, and Scheduler delegates that can
interact with BrowerRenderer to render in-headset VR UI.

With this change, the delegates are mostly defined and parts necessary
to render are implemented, but VR UI doesn't yet actually render any UI
on desktop.

BUG= 819448 

Change-Id: I8d50e200e2380ae2113454eaf77cd1c53f369554
Reviewed-on: https://chromium-review.googlesource.com/c/1306402
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605897}
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/android/vr/gvr_graphics_delegate.cc
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/android/vr/gvr_graphics_delegate.h
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/browser_renderer.cc
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/browser_renderer.h
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/graphics_delegate.h
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/service/browser_xr_runtime.cc
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/service/browser_xr_runtime.h
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/testapp/gl_renderer.cc
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/testapp/gl_renderer.h
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/ui.cc
[add] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/graphics_delegate_win.cc
[add] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/graphics_delegate_win.h
[add] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/input_delegate_win.cc
[add] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/input_delegate_win.h
[add] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/scheduler_delegate_win.cc
[add] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/scheduler_delegate_win.h
[delete] https://crrev.com/1e05484358740f0608387f1213029f263d2b16a5/chrome/browser/vr/win/simple_overlay_renderer_win.cc
[delete] https://crrev.com/1e05484358740f0608387f1213029f263d2b16a5/chrome/browser/vr/win/simple_overlay_renderer_win.h
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/vr_browser_renderer_thread_win.cc
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/vr_browser_renderer_thread_win.h
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/vr_renderloop_host_win.cc
[modify] https://crrev.com/cee3abc6988dfe4e6c99756198d2f58eccd62873/chrome/browser/vr/win/vr_renderloop_host_win.h

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 27

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

commit 41b6d981966380723d833696be498cf647c20c0a
Author: Bill Orr <billorr@chromium.org>
Date: Tue Nov 27 21:58:52 2018

Add a permission prompt notification to show in headset for desktop VR

When a page requests permissions, a prompt will show on the desktop
display. This change allows a notification to show in-headset so the
user knows to look at the prompt on the desktop display.

BUG= 819448 

Change-Id: I55801326c41b1b152da5ee80ed7ef62107184de8
Reviewed-on: https://chromium-review.googlesource.com/c/1332690
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: David Dorwin <ddorwin@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Reviewed-by: Christopher Grant <cjgrant@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611353}
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/app/vr_strings.grdp
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/android/vr/vr_gl_thread.cc
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/android/vr/vr_gl_thread.h
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/browser_ui_interface.h
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/model/web_vr_model.h
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/test/mock_browser_ui_interface.h
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/ui.cc
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/ui.h
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/ui_scene_creator.cc
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/ui_scene_creator.h
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/win/scheduler_delegate_win.cc
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/win/scheduler_delegate_win.h
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/win/vr_browser_renderer_thread_win.cc
[modify] https://crrev.com/41b6d981966380723d833696be498cf647c20c0a/chrome/browser/vr/win/vr_browser_renderer_thread_win.h

Status: Fixed (was: Started)
We have basic VR-UI integration.  Resolving this as fixed.  blocked bugs will be re-parented under browsing-specific bugs.

Sign in to add a comment