New issue
Advanced search Search tips

Issue 731792 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug
Proj-XR
Proj-XR-VR

Blocked on:
issue 731791

Blocking:
issue 773882



Sign in to add a comment

Use GpuMemoryBuffer for compositing VR on Windows

Project Member Reported by billorr@chromium.org, Jun 9 2017

Issue description

We need to share textures cross-process, but keeping them in GPU memory.
 
Components: UI>Browser>VR
Labels: OS-Windows
Owner: billorr@chromium.org
Blockedon: 731791
Labels: VR-Desktop
Status: Available (was: Untriaged)
Blocking: 773882
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 3 2017

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

commit e8c67f19d1cd3457862477879dfc826f673d4579
Author: Bill Orr <billorr@chromium.org>
Date: Fri Nov 03 04:52:58 2017

OpenVR support for rendering WebVR content.

This change introduces a new method to submit graphics using a texture
handle. It adds an OpenVR implementation of that method, along with
support for rehydrating that texture and submitting it to OpenVR. OpenGL
and DirectX have differing opinions for texture coordinates, so the
image must be flipped.

BUG= 731792 

Change-Id: Ia455ba95e06ca0c2e88bf31155d7243e8cdb5964
Reviewed-on: https://chromium-review.googlesource.com/738860
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513688}
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/chrome/browser/android/vr_shell/vr_shell_gl.cc
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/chrome/browser/android/vr_shell/vr_shell_gl.h
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/chrome/browser/vr/service/vr_device_manager.cc
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/BUILD.gn
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/OWNERS
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_device.cc
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_device.h
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_device_provider.cc
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_device_provider.h
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_gamepad_data_fetcher.cc
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_render_loop.cc
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_render_loop.h
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_type_converters.cc
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/openvr/openvr_type_converters.h
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/vr_service.mojom
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/windows/d3d11_texture_helper.cc
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/windows/d3d11_texture_helper.h
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/windows/flip_pixel_shader.h
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/windows/flip_pixel_shader.hlsl
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/windows/flip_vertex_shader.h
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/windows/flip_vertex_shader.hlsl
[add] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/device/vr/windows/generate_shaders.bat
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/third_party/openvr/BUILD.gn
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/third_party/openvr/README.chromium
[modify] https://crrev.com/e8c67f19d1cd3457862477879dfc826f673d4579/third_party/openvr/src/src/jsoncpp.cpp

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 15 2017

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

commit f1a97e71878f0c30f87aa17a2c4dde7ed1be9140
Author: Bill Orr <billorr@chromium.org>
Date: Wed Nov 15 06:18:36 2017

Blink changes to support WebVR on Desktop

This change enables submitting GpuMemoryBuffers to a
VRPresentationProvider from blink.

This change also fixes a few minor issues to get OpenVR rendering.

BUG= 731792 

Change-Id: Iffaf6dceca3b76b3f6241604675603b8020e5c6c
Reviewed-on: https://chromium-review.googlesource.com/756138
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Commit-Queue: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516599}
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/device/vr/openvr/openvr_device.cc
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/device/vr/openvr/openvr_render_loop.cc
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/device/vr/openvr/openvr_render_loop.h
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/device/vr/openvr/openvr_type_converters.cc
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/device/vr/windows/d3d11_texture_helper.cc
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/third_party/WebKit/Source/modules/vr/DEPS
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/third_party/WebKit/Source/modules/vr/VRDisplay.cpp
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/third_party/WebKit/Source/modules/vr/VRDisplay.h
[modify] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/third_party/WebKit/Source/platform/BUILD.gn
[add] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/third_party/WebKit/Source/platform/graphics/GpuMemoryBufferImageCopy.cpp
[add] https://crrev.com/f1a97e71878f0c30f87aa17a2c4dde7ed1be9140/third_party/WebKit/Source/platform/graphics/GpuMemoryBufferImageCopy.h

Status: Fixed (was: Available)
Labels: M-64 Test-Complete

Sign in to add a comment