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

Issue 922834 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 898270



Sign in to add a comment

Teach GLRenderer/DisplayResourceProvider to use SharedImage

Project Member Reported by ericrk@chromium.org, Jan 17 (6 days ago)

Issue description

Currently in GLRenderer, resources are acquired via DisplayResourceProvider, which uses the legacy mailbox system. We should convert DisplayResourceProvider to use SharedImage when possible.

This has a few parts:
- Add a flag to Mailbox so DisplayResourceProvider knows whether it can
  use SharedImage functions on a given mailbox.
- Add optional paths to use glCreateAndTexStorage2DSharedImageCHROMIUM to
  generate GL textures from mailboxes. Also add correct Begin/end calls.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 18 (4 days ago)

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

commit 06d7a5b8113780d08793bff5f157e6228f9f002c
Author: Eric Karl <ericrk@chromium.org>
Date: Fri Jan 18 08:05:01 2019

Make sure SharedImageManager is shared correctly among GPU components

Currently, GpuInProcessThreadService/CommandBufferTaskExecutor owned
their own SharedImageManager. This causes issues, as the
SharedImageManager is not shared with the GpuChannelManager (if one
exists).

We got lucky and this didn't cause problems in SkDDL based Skia
Renderer, but will cause problems in the future.

This CL causes the CommandBufferTaskExecutor to share the
GpuChannelManager's SharedImageManager where appropriate.

Bug: 922834
Change-Id: I96b7ced16f7cf36243e74884221e397c5601cff4
Reviewed-on: https://chromium-review.googlesource.com/c/1418631
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624034}
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/cc/test/pixel_test.cc
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/components/viz/service/display_embedder/skia_output_surface_impl_unittest.cc
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/components/viz/service/main/viz_main_impl.cc
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/gpu/ipc/command_buffer_task_executor.cc
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/gpu/ipc/command_buffer_task_executor.h
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/gpu/ipc/in_process_gpu_thread_holder.cc
[modify] https://crrev.com/06d7a5b8113780d08793bff5f157e6228f9f002c/gpu/ipc/in_process_gpu_thread_holder.h

Project Member

Comment 2 by bugdroid1@chromium.org, Today (10 hours ago)

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

commit e4f5071361d8ccc668599d9a47afa8c4b0c7faeb
Author: Eric Karl <ericrk@chromium.org>
Date: Tue Jan 22 20:01:11 2019

Add SharedImage identifying bit to gpu::Mailbox

As we transition to SharedImage, certain places in code need to know
whether a mailbox they receive should be used with the SharedImage
system or legacy mailbox system.

This CL adds a flag to Mailbox to identify SharedImage usage, and
converts existing clients to check this flag.

Bug: 922834
Change-Id: I20900e302e2620d216377edc5d6f0017270c23d6
Reviewed-on: https://chromium-review.googlesource.com/c/1416836
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624883}
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/components/viz/test/test_context_provider.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/common/mailbox.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/common/mailbox.h
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_unittest_textures.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/shared_image_backing_factory_gl_texture_unittest.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/shared_image_factory.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/shared_image_factory.h
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/shared_image_factory_unittest.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/shared_image_manager.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/shared_image_manager.h
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/command_buffer/service/shared_image_manager_unittest.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/ipc/client/shared_image_interface_proxy.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/e4f5071361d8ccc668599d9a47afa8c4b0c7faeb/gpu/ipc/service/shared_image_stub.cc

Project Member

Comment 3 by bugdroid, Today (6 hours ago)

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

commit 4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48
Author: John Abd-El-Malek <jam@chromium.org>
Date: Tue Jan 22 23:58:05 2019

Revert "Add SharedImage identifying bit to gpu::Mailbox"

This reverts commit e4f5071361d8ccc668599d9a47afa8c4b0c7faeb.

Causing failures on a bunch of builders: https://sheriff-o-matic.appspot.com/chromium/examine/gpu_unittests%20failing%20on%20multiple%20builders

Original change's description:
> Add SharedImage identifying bit to gpu::Mailbox
> 
> As we transition to SharedImage, certain places in code need to know
> whether a mailbox they receive should be used with the SharedImage
> system or legacy mailbox system.
> 
> This CL adds a flag to Mailbox to identify SharedImage usage, and
> converts existing clients to check this flag.
> 
> Bug: 922834
> Change-Id: I20900e302e2620d216377edc5d6f0017270c23d6
> Reviewed-on: https://chromium-review.googlesource.com/c/1416836
> Commit-Queue: Eric Karl <ericrk@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#624883}

TBR=piman@chromium.org,ericrk@chromium.org

Change-Id: I2126a4063cad202ddaa06c48b5fc8d1537f41d04
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 922834
Reviewed-on: https://chromium-review.googlesource.com/c/1428097
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624993}
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/components/viz/test/test_context_provider.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/common/mailbox.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/common/mailbox.h
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_unittest_textures.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/shared_image_backing_factory_gl_texture_unittest.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/shared_image_factory.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/shared_image_factory.h
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/shared_image_factory_unittest.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/shared_image_manager.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/shared_image_manager.h
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/command_buffer/service/shared_image_manager_unittest.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/ipc/client/shared_image_interface_proxy.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/4e07ff5b89571cc76e6fd2f2cb0aecc08ac8ce48/gpu/ipc/service/shared_image_stub.cc

Sign in to add a comment