We need to share textures cross-process, but keeping them in GPU memory.
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
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
Comment 1 by billorr@chromium.org
, Jun 9 2017Labels: OS-Windows
Owner: billorr@chromium.org