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

Issue 731791 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Feature
Proj-XR

Blocking:
issue 731792



Sign in to add a comment

Extend GpuMemoryBuffer to support DirectX textures (D3D11_RESOURCE_MISC_SHARED_NTHANDLE)

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

Issue description

VR requires sharing graphics cross-process, and keeping everything in GPU memory will maintain efficiency.
 
Blocking: 731792
Components: UI>Browser>VR
Labels: Proj-VR
Cc: klausw@chromium.org rjkroege@chromium.org bajones@chromium.org vollick@chromium.org
Components: Internals>GPU
Labels: -Type-Bug M-61 OS-Windows Type-Feature
Status: Assigned (was: Untriaged)
Cc: kbr@chromium.org jbau...@chromium.org
Labels: -M-61 VR-Desktop M-62
Components: -UI>Browser>VR Internals>VR
Labels: -M-62 M-63
I've got a patch to do part of this (allow this type of GpuMemoryBuffer to be transmitted cross-process) at https://codereview.chromium.org/2970353002/ , though I don't think I'll be able to complete it.

That only allows taking DXGI GpuMemoryBuffers that are drawn in the client and displaying them in an overlay in the GPU process. I'm not sure what exactly you'd want to do with them.
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 26 2017

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

commit b54509c3db126e5a3ed9b84fa70df1f821b1fd3e
Author: Bill Orr <billorr@chromium.org>
Date: Thu Oct 26 21:57:30 2017

Extend GpuMemoryBuffer to support DirectX textures

This change adds support to GpuMemoryBuffer for shared handles to
ID3D11Texture2D (D3D11_RESOURCE_MISC_SHARED_NTHANDLE), and support to
bind GLImages using these handles.

BUG= 731791 

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: I29ee224db99866fbb4baaf81fbd6a3202ca6dafa
Reviewed-on: https://chromium-review.googlesource.com/674135
Commit-Queue: Bill Orr <billorr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511981}
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/components/viz/host/server_gpu_memory_buffer_manager_unittest.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/BUILD.gn
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/client/BUILD.gn
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/client/gpu_memory_buffer_impl.cc
[add] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/client/gpu_memory_buffer_impl_dxgi.cc
[add] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/client/gpu_memory_buffer_impl_dxgi.h
[add] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/client/gpu_memory_buffer_impl_dxgi_unittest.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/client/gpu_memory_buffer_impl_test_template.h
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/common/gpu_memory_buffer_support.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/host/gpu_memory_buffer_support.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/service/BUILD.gn
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/service/direct_composition_surface_win_unittest.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/service/gpu_memory_buffer_factory.cc
[add] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
[add] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.h
[add] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/service/gpu_memory_buffer_factory_dxgi_unittest.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/gpu/ipc/service/gpu_memory_buffer_factory_test_template.h
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gfx/gpu_memory_buffer.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gfx/gpu_memory_buffer.h
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gfx/mojo/buffer_types.mojom
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gfx/mojo/buffer_types_struct_traits.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gfx/mojo/buffer_types_struct_traits.h
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gl/BUILD.gn
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gl/gl_image_dxgi.cc
[modify] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gl/gl_image_dxgi.h
[add] https://crrev.com/b54509c3db126e5a3ed9b84fa70df1f821b1fd3e/ui/gl/gl_image_dxgi_unittest.cc

Labels: -M-63 M-64
Labels: -Pri-3 Pri-1
Status: Fixed (was: Assigned)
Components: Internals>XR

Sign in to add a comment