Allow VkImage created from DMA-BUFs to export to compatible handle types [chromium/src : main]

45 views
Skip to first unread message

Peng Huang (Gerrit)

unread,
Jul 17, 2023, 9:52:26 PM7/17/23
to Quang Minh Phan, cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, chromium...@chromium.org, David Worsham, Robert Kroeger, Vasiliy Telezhnikov

Attention is currently required from: Quang Minh Phan, Vasiliy Telezhnikov.

View Change

1 comment:

  • Commit Message:

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 5
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-Attention: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Attention: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-Comment-Date: Tue, 18 Jul 2023 01:52:15 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No

Quang Minh Phan (Gerrit)

unread,
Jul 17, 2023, 9:53:39 PM7/17/23
to cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, chromium...@chromium.org, David Worsham, Robert Kroeger, Vasiliy Telezhnikov, Peng Huang

Attention is currently required from: Peng Huang, Vasiliy Telezhnikov.

View Change

1 comment:

  • Commit Message:

    • `ExternalVkImageBacking` always need to export it as opaque FD for GL interop. Opaque FDs might be implemented as non-DMA-BUF objects on non-Mesa drivers.

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 5
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-Comment-Date: Tue, 18 Jul 2023 01:53:29 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Peng Huang <peng...@chromium.org>

Vasiliy Telezhnikov (Gerrit)

unread,
Jul 18, 2023, 9:34:16 AM7/18/23
to Quang Minh Phan, cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger, Peng Huang

Attention is currently required from: Peng Huang, Quang Minh Phan.

View Change

2 comments:

  • Commit Message:

    • `ExternalVkImageBacking` always need to export it as opaque FD for GL interop. […]

      Are those dma-bufs are in format that can't be imported using DRI? i.e is it possible to use OzoneImageBacking and import fds both to Vulkan and GL separately, rather than using ExternalVkImage?

  • File gpu/vulkan/vulkan_image_linux.cc:

    • Patch Set #6, Line 129: VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,

      Do drivers allow re-export as a different type?

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 6
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Comment-Date: Tue, 18 Jul 2023 13:34:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Peng Huang <peng...@chromium.org>
Comment-In-Reply-To: Quang Minh Phan <phanquan...@gmail.com>

Quang Minh Phan (Gerrit)

unread,
Jul 18, 2023, 9:49:36 AM7/18/23
to cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger, Vasiliy Telezhnikov, Peng Huang

Attention is currently required from: Peng Huang, Vasiliy Telezhnikov.

View Change

2 comments:

  • Commit Message:

    • Are those dma-bufs are in format that can't be imported using DRI? i. […]

      This is mostly for https://chromium-review.googlesource.com/c/chromium/src/+/4689124/8 where there are other reasons why buffers cannot be imported with `OzoneImageBacking` (e.g. DMA-BUFs imported with `SHARED_IMAGE_USAGE_WEBGPU` on Linux which sometimes happens when using VA-API).

  • File gpu/vulkan/vulkan_image_linux.cc:

    • Patch Set #6, Line 129: VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,

      Do drivers allow re-export as a different type?

    • Yes, as long as it's specified in `VkExportMemoryAllocateInfo` at memory creation time and listed as compatible in `VkExternalMemoryProperties` for the specific image format.

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 6
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-Comment-Date: Tue, 18 Jul 2023 13:49:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Peng Huang <peng...@chromium.org>
Comment-In-Reply-To: Quang Minh Phan <phanquan...@gmail.com>
Comment-In-Reply-To: Vasiliy Telezhnikov <vas...@chromium.org>

Vasiliy Telezhnikov (Gerrit)

unread,
Jul 18, 2023, 2:16:11 PM7/18/23
to Quang Minh Phan, cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger, Peng Huang

Attention is currently required from: Peng Huang, Quang Minh Phan.

View Change

1 comment:

  • Commit Message:

    • This is mostly for https://chromium-review.googlesource. […]

      I think we need to summarize what caps with have and what paths we take and when.

      On X11/GL/WithoutSyncFile:

      • No GL synchronization possible, but none is needed.
      • OzoneImageBacking for VAAPI
      • No WebGPU?

      On X11/GL/SyncFile:

      • No GL synchronization possible, but none is needed.
      • OzoneImageBacking for VAAPI
      • No WebGPU?

      On X11/Vulkan/VANGLE/WithoutSyncFile:

      • No EGLSync support in VANGLE
      • Vulkan can use OPAQUE_FD
      • Vulkan/GL/WebGPU interop works through AngleVulkanImageBacking where it can, falling back to ExternalVkImage and needs to use OPAQUE_FD for fences and images.
      • VAAPI also has to go through ExternalVkImage if we need interop with WebGPU.

      On X11/Vulkan/VANGLE/SyncFile:

      • EGLSync support in VANGLE
      • Vulkan can use SYNC_FD
      • Everything can work through OzoneImageBacking

      On Wayland/GL/WithoutSyncFile:

      • Is it possible? If so, how synchronization with compositor works?

      On Wayland/GL/SyncFile:

      • Should have EGLSync support?
      • Vulkan can use SYNC_FD
      • Everything can work through OzoneImageBacking

      On Wayland/Vulkan/WithoutSyncFile:

      • Same here, is it possible?

      On Wayland/Vulkan/SyncFile:

      • Should have EGLSync support?
      • Vulkan can use SYNC_FD
      • Everything can work through OzoneImageBacking

      Does it sound correct?

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 7
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Comment-Date: Tue, 18 Jul 2023 18:16:05 +0000

Quang Minh Phan (Gerrit)

unread,
Jul 18, 2023, 9:38:48 PM7/18/23
to cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger, Vasiliy Telezhnikov, Peng Huang

Attention is currently required from: Peng Huang, Vasiliy Telezhnikov.

View Change

1 comment:

  • Commit Message:

    • Note that in https://chromium-review.googlesource.com/c/chromium/src/+/4689124 WebGPU is assumed to not be using sync files on Linux until we have a way to check what external handle type Dawn is expecting and will give us on image release, so anything WebGPU will fall back to `ExternalVkImageBacking` until Dawn starts using sync_file (and also provide an API to get and set the external semaphore handle type in use). When that happens, WebGPU will be able to use `OzoneImageBacking`.

    • On Wayland/GL/WithoutSyncFile:

      • Is it possible? If so, how synchronization with compositor works?
    • On Wayland/Vulkan/WithoutSyncFile:

      • Same here, is it possible?
    • This is simply unsupported.

      Otherwise everything else should be correct.

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 7
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-Comment-Date: Wed, 19 Jul 2023 01:38:38 +0000

Vasiliy Telezhnikov (Gerrit)

unread,
Jul 20, 2023, 3:42:11 PM7/20/23
to Quang Minh Phan, cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger, Peng Huang

Attention is currently required from: Peng Huang, Quang Minh Phan.

View Change

1 comment:

  • Commit Message:

    • Note that in https://chromium-review.googlesource. […]

      Thanks for confirming. I'm just summarizing for me (and anyone who will dig this thread) the rationale why and what we're doing:

      So we have two "problematic" cases: 
      * X11/Vulkan/VANGLE/WithoutSyncFile where we have to use ExternalVkImage for WebGPU (We can't use VulkanAngleImageBacking as it runs on a separate device).
      For cases when we just create SI itself (e.g webgpu back buffers), this currently works.
      But if we have external dma-buf (e.g from VAAPI), we can import it to Vulkan, but can't import it to GL using external memory extensions (needs OPAQUE_FD). And don't have means of synchronization outside of external semaphores.
      So we have two options here:
      * Use ExternalVkImage and that requires re-export of the VulkanImages with different flags. This is done in this CL.
      * Use OzoneImageBacking without synchronization (VAAPI doesn't need one anyway). This might be tricky, because we don't know where dma bufs come from.

      On Wayland/GL/WithoutSyncFile:

      • We have to use OzoneImageBacking (so we can send buffers to compositor), but we have to ignore all synchronization and rely on implicit sync?
      • This means no WebGPU too.

      I'm not opposed to approach in this CL, but it seems we need to keep a way for OzoneImageBacking to not do any sync for `Wayland/GL/WithoutSyncFile`.

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 10
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Comment-Date: Thu, 20 Jul 2023 19:42:03 +0000

Quang Minh Phan (Gerrit)

unread,
Jul 21, 2023, 12:50:57 AM7/21/23
to cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger, Vasiliy Telezhnikov, Peng Huang

Attention is currently required from: Peng Huang, Vasiliy Telezhnikov.

View Change

1 comment:

  • Commit Message:

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 10
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-Comment-Date: Fri, 21 Jul 2023 04:50:49 +0000

Vasiliy Telezhnikov (Gerrit)

unread,
Jul 24, 2023, 10:43:59 AM7/24/23
to Quang Minh Phan, cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger, Peng Huang

Attention is currently required from: Peng Huang, Quang Minh Phan.

Patch set 11:Code-Review +1

View Change

1 comment:

  • Patchset:

    • Patch Set #11:

      Sorry for taking too long. lgtm, thanks for working on it.

To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
Gerrit-Change-Number: 4689120
Gerrit-PatchSet: 11
Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-CC: David Worsham <dwor...@google.com>
Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
Gerrit-CC: Zijie He <zij...@google.com>
Gerrit-Attention: Peng Huang <peng...@chromium.org>
Gerrit-Attention: Quang Minh Phan <phanquan...@gmail.com>
Gerrit-Comment-Date: Mon, 24 Jul 2023 14:43:47 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes

Peng Huang (Gerrit)

unread,
Jul 24, 2023, 10:57:20 AM7/24/23
to Quang Minh Phan, cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Vasiliy Telezhnikov, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger

Attention is currently required from: Quang Minh Phan.

Patch set 11:Code-Review +1

View Change

    To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
    Gerrit-Change-Number: 4689120
    Gerrit-PatchSet: 11
    Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
    Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
    Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
    Gerrit-CC: David Worsham <dwor...@google.com>
    Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
    Gerrit-CC: Zijie He <zij...@google.com>
    Gerrit-Attention: Quang Minh Phan <phanquan...@gmail.com>
    Gerrit-Comment-Date: Mon, 24 Jul 2023 14:57:09 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes

    Quang Minh Phan (Gerrit)

    unread,
    Jul 27, 2023, 1:24:18 AM7/27/23
    to cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Peng Huang, Vasiliy Telezhnikov, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger

    Attention is currently required from: Quang Minh Phan.

    Patch set 12:Commit-Queue +2

    View Change

      To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
      Gerrit-Change-Number: 4689120
      Gerrit-PatchSet: 12
      Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
      Gerrit-Reviewer: Peng Huang <peng...@chromium.org>
      Gerrit-Reviewer: Quang Minh Phan <phanquan...@gmail.com>
      Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
      Gerrit-CC: David Worsham <dwor...@google.com>
      Gerrit-CC: Robert Kroeger <rjkr...@chromium.org>
      Gerrit-CC: Zijie He <zij...@google.com>
      Gerrit-Attention: Quang Minh Phan <phanquan...@gmail.com>
      Gerrit-Comment-Date: Thu, 27 Jul 2023 05:24:07 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes

      Chromium LUCI CQ (Gerrit)

      unread,
      Jul 27, 2023, 2:25:40 AM7/27/23
      to Quang Minh Phan, cblume...@chromium.org, emi...@google.com, fuchsia...@chromium.org, headless...@chromium.org, mac-r...@chromium.org, ozone-...@chromium.org, penghuan...@chromium.org, spang...@chromium.org, Peng Huang, Vasiliy Telezhnikov, Zijie He, chromium...@chromium.org, David Worsham, Robert Kroeger

      Chromium LUCI CQ submitted this change.

      View Change



      11 is the latest approved patch-set.
      No files were changed between the latest approved patch-set and the submitted one.

      Approvals: Vasiliy Telezhnikov: Looks good to me Peng Huang: Looks good to me Quang Minh Phan: Commit
      Allow VkImage created from DMA-BUFs to export to compatible handle types

      This allows VkImages imported from native pixmaps on Linux (e.g. VA-API)
      to be reexported to external memory FDs, which is needed by
      ExternalVkImageBacking.

      Bug: 1411745
      Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
      Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4689120
      Reviewed-by: Peng Huang <peng...@chromium.org>
      Commit-Queue: Quang Minh Phan <phanquan...@gmail.com>
      Reviewed-by: Vasiliy Telezhnikov <vas...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1175880}
      ---
      M gpu/vulkan/vulkan_image_linux.cc
      1 file changed, 16 insertions(+), 0 deletions(-)

      diff --git a/gpu/vulkan/vulkan_image_linux.cc b/gpu/vulkan/vulkan_image_linux.cc
      index 4a3ecfe..6c744ca 100644
      --- a/gpu/vulkan/vulkan_image_linux.cc
      +++ b/gpu/vulkan/vulkan_image_linux.cc
      @@ -10,6 +10,7 @@
      #include "base/logging.h"
      #include "gpu/vulkan/vulkan_device_queue.h"
      #include "gpu/vulkan/vulkan_function_pointers.h"
      +#include "gpu/vulkan/vulkan_util.h"

      namespace {

      @@ -119,6 +120,21 @@
      .fd = memory_fd,
      };

      + VkExportMemoryAllocateInfo export_memory_info = {
      + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR};
      + VkExternalMemoryProperties external_memory_properties;
      + VkResult vk_result = QueryVkExternalMemoryProperties(
      + device_queue->GetVulkanPhysicalDevice(), format, VK_IMAGE_TYPE_2D,
      + image_tiling, usage, flags,
      + VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT,
      + &external_memory_properties);
      + if (vk_result == VK_SUCCESS) {
      + export_memory_info.handleTypes =
      + external_memory_properties.compatibleHandleTypes;
      +
      + import_memory_fd_info.pNext = &export_memory_info;
      + }
      +
      VkMemoryRequirements* requirements = nullptr;
      // TODO support multiple plane
      bool result = InitializeSingleOrJointPlanes(

      To view, visit change 4689120. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-MessageType: merged
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I26ceb5f1e3a68d4a423a28785b3d4f8f065b1a93
      Gerrit-Change-Number: 4689120
      Gerrit-PatchSet: 13
      Gerrit-Owner: Quang Minh Phan <phanquan...@gmail.com>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Reply all
      Reply to author
      Forward
      0 new messages