[ozone] Avoid gating plane EGLImage pixmap attrs for per-plane textures [chromium/src : main]

0 views
Skip to first unread message

Saifuddin Hitawala (Gerrit)

unread,
Mar 2, 2026, 2:26:12 PM (11 days ago) Mar 2
to Vasiliy Telezhnikov, Colin Blundell, Chromium LUCI CQ, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Colin Blundell and Vasiliy Telezhnikov

Saifuddin Hitawala added 2 comments

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Saifuddin Hitawala . resolved

Please take a look.

File ui/ozone/common/native_pixmap_egl_binding.cc
Line 211, Patchset 3 (Parent): if (pixmap_plane > 1) {
Saifuddin Hitawala . unresolved

@vas...@chromium.org Do you think its okay remove this conditional?

Open in Gerrit

Related details

Attention is currently required from:
  • Colin Blundell
  • Vasiliy Telezhnikov
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
Gerrit-Change-Number: 7617755
Gerrit-PatchSet: 3
Gerrit-Owner: Saifuddin Hitawala <hita...@chromium.org>
Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
Gerrit-Reviewer: Saifuddin Hitawala <hita...@chromium.org>
Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-Attention: Colin Blundell <blun...@chromium.org>
Gerrit-Attention: Vasiliy Telezhnikov <vas...@chromium.org>
Gerrit-Comment-Date: Mon, 02 Mar 2026 19:26:06 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Vasiliy Telezhnikov (Gerrit)

unread,
Mar 2, 2026, 3:09:19 PM (11 days ago) Mar 2
to Saifuddin Hitawala, Colin Blundell, Chromium LUCI CQ, chromium...@chromium.org, ozone-...@chromium.org
Attention needed from Colin Blundell and Saifuddin Hitawala

Vasiliy Telezhnikov voted and added 2 comments

Votes added by Vasiliy Telezhnikov

Code-Review+1

2 comments

Patchset-level comments
Vasiliy Telezhnikov . resolved

lgtm, thanks.

File ui/ozone/common/native_pixmap_egl_binding.cc
Line 211, Patchset 3 (Parent): if (pixmap_plane > 1) {
Saifuddin Hitawala . unresolved

@vas...@chromium.org Do you think its okay remove this conditional?

Vasiliy Telezhnikov

I do believe it's no op and so it's okay to remove. On CrOS we use per plane access only to write and we only ever write to [NV12](https://source.chromium.org/chromium/chromium/src/+/main:media/video/renderable_mappable_shared_image_video_frame_pool.cc;drc=a8525686784b4ea1794e537d6e025cca88c7d76f;l=191) from multiplane formats.


Whether it will work for other formats or not is a good question, I don't know implementation details inside the driver out of my head, but it was added just for this specific use-case [here](https://chromium-review.googlesource.com/c/chromium/src/+/3194113), so I'd assume it will work, we just didn't want to write more code for conversion from BufferPlane to an index.

Open in Gerrit

Related details

Attention is currently required from:
  • Colin Blundell
  • Saifuddin Hitawala
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
    Gerrit-Change-Number: 7617755
    Gerrit-PatchSet: 3
    Gerrit-Owner: Saifuddin Hitawala <hita...@chromium.org>
    Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
    Gerrit-Reviewer: Saifuddin Hitawala <hita...@chromium.org>
    Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
    Gerrit-Attention: Saifuddin Hitawala <hita...@chromium.org>
    Gerrit-Attention: Colin Blundell <blun...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Mar 2026 20:09:13 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Saifuddin Hitawala <hita...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Colin Blundell (Gerrit)

    unread,
    Mar 3, 2026, 2:37:29 AM (10 days ago) Mar 3
    to Saifuddin Hitawala, Colin Blundell, Vasiliy Telezhnikov, Chromium LUCI CQ, chromium...@chromium.org, ozone-...@chromium.org
    Attention needed from Saifuddin Hitawala

    Colin Blundell voted and added 2 comments

    Votes added by Colin Blundell

    Code-Review+1

    2 comments

    Patchset-level comments
    Colin Blundell . resolved

    Thanks!

    File ui/ozone/common/native_pixmap_egl_binding.cc
    Line 207, Patchset 3 (Latest): attrs.push_back(EGL_DMA_BUF_PLANE0_FD_EXT);
    Colin Blundell . unresolved

    definitely outside of scope of this CL, but is this code correct? Naively it would seem like it should be PLANE<n> throughout.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Saifuddin Hitawala
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
    Gerrit-Change-Number: 7617755
    Gerrit-PatchSet: 3
    Gerrit-Owner: Saifuddin Hitawala <hita...@chromium.org>
    Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
    Gerrit-Reviewer: Saifuddin Hitawala <hita...@chromium.org>
    Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
    Gerrit-Attention: Saifuddin Hitawala <hita...@chromium.org>
    Gerrit-Comment-Date: Tue, 03 Mar 2026 07:37:10 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Vasiliy Telezhnikov (Gerrit)

    unread,
    Mar 3, 2026, 9:06:00 AM (10 days ago) Mar 3
    to Saifuddin Hitawala, Colin Blundell, Chromium LUCI CQ, chromium...@chromium.org, ozone-...@chromium.org
    Attention needed from Saifuddin Hitawala

    Vasiliy Telezhnikov added 1 comment

    File ui/ozone/common/native_pixmap_egl_binding.cc
    Line 207, Patchset 3 (Latest): attrs.push_back(EGL_DMA_BUF_PLANE0_FD_EXT);
    Colin Blundell . unresolved

    definitely outside of scope of this CL, but is this code correct? Naively it would seem like it should be PLANE<n> throughout.

    Vasiliy Telezhnikov

    That's how it works, on the driver level we just pretend it's a single plane (so we pass only plane 0), but we path dma-buf+offset of the plane we want.

    Gerrit-Comment-Date: Tue, 03 Mar 2026 14:05:53 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Colin Blundell <blun...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Saifuddin Hitawala (Gerrit)

    unread,
    Mar 3, 2026, 9:19:32 AM (10 days ago) Mar 3
    to Colin Blundell, Vasiliy Telezhnikov, Chromium LUCI CQ, chromium...@chromium.org, ozone-...@chromium.org

    Saifuddin Hitawala voted and added 3 comments

    Votes added by Saifuddin Hitawala

    Commit-Queue+2

    3 comments

    Patchset-level comments
    Saifuddin Hitawala . resolved

    Thanks for reviews!

    File ui/ozone/common/native_pixmap_egl_binding.cc
    Line 207, Patchset 3 (Latest): attrs.push_back(EGL_DMA_BUF_PLANE0_FD_EXT);
    Colin Blundell . resolved

    definitely outside of scope of this CL, but is this code correct? Naively it would seem like it should be PLANE<n> throughout.

    Vasiliy Telezhnikov

    That's how it works, on the driver level we just pretend it's a single plane (so we pass only plane 0), but we path dma-buf+offset of the plane we want.

    Saifuddin Hitawala

    That makes sense, thanks for clarifying!

    Line 211, Patchset 3 (Parent): if (pixmap_plane > 1) {
    Saifuddin Hitawala . resolved

    @vas...@chromium.org Do you think its okay remove this conditional?

    Vasiliy Telezhnikov

    I do believe it's no op and so it's okay to remove. On CrOS we use per plane access only to write and we only ever write to [NV12](https://source.chromium.org/chromium/chromium/src/+/main:media/video/renderable_mappable_shared_image_video_frame_pool.cc;drc=a8525686784b4ea1794e537d6e025cca88c7d76f;l=191) from multiplane formats.


    Whether it will work for other formats or not is a good question, I don't know implementation details inside the driver out of my head, but it was added just for this specific use-case [here](https://chromium-review.googlesource.com/c/chromium/src/+/3194113), so I'd assume it will work, we just didn't want to write more code for conversion from BufferPlane to an index.

    Saifuddin Hitawala

    Okay, so it was introduced for NV12 and from current code paths it can also still be NV12. Sounds good, I'll remove it since it is no-op and thanks for clarifying!

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
      Gerrit-Change-Number: 7617755
      Gerrit-PatchSet: 3
      Gerrit-Owner: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
      Gerrit-Reviewer: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
      Gerrit-Comment-Date: Tue, 03 Mar 2026 14:19:26 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Saifuddin Hitawala <hita...@chromium.org>
      Comment-In-Reply-To: Colin Blundell <blun...@chromium.org>
      Comment-In-Reply-To: Vasiliy Telezhnikov <vas...@chromium.org>
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Mar 3, 2026, 9:22:37 AM (10 days ago) Mar 3
      to Saifuddin Hitawala, Colin Blundell, Vasiliy Telezhnikov, chromium...@chromium.org, ozone-...@chromium.org

      Chromium LUCI CQ submitted the change

      Change information

      Commit message:
      [ozone] Avoid gating plane EGLImage pixmap attrs for per-plane textures

      Avoid gating NativePixmap attributes for per-plane textures to 0/1
      when creating an EGLImage in NativePixmapEGLBinding. This is a
      follow-up from [1] where earlier it was always gated to be 0/1 based
      on assumption that it is always Y_UV plane config. This change
      updates it so that other plane configs also work as expected, possibly
      coming from OzoneImageBacking.

      [1] https://chromium-review.googlesource.com/c/chromium/src/+/7613869/6
      Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
      Reviewed-by: Vasiliy Telezhnikov <vas...@chromium.org>
      Reviewed-by: Colin Blundell <blun...@chromium.org>
      Commit-Queue: Saifuddin Hitawala <hita...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1593183}
      Files:
      • M ui/ozone/common/native_pixmap_egl_binding.cc
      Change size: XS
      Delta: 1 file changed, 0 insertions(+), 8 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Vasiliy Telezhnikov, +1 by Colin Blundell
      Open in Gerrit
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: merged
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
      Gerrit-Change-Number: 7617755
      Gerrit-PatchSet: 4
      Gerrit-Owner: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
      Gerrit-Reviewer: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
      open
      diffy
      satisfied_requirement

      Colin Blundell (Gerrit)

      unread,
      Mar 4, 2026, 4:37:03 AM (9 days ago) Mar 4
      to Saifuddin Hitawala, Chromium LUCI CQ, Colin Blundell, Vasiliy Telezhnikov, chromium...@chromium.org, ozone-...@chromium.org

      Colin Blundell added 1 comment

      File ui/ozone/common/native_pixmap_egl_binding.cc
      Line 207, Patchset 3: attrs.push_back(EGL_DMA_BUF_PLANE0_FD_EXT);
      Colin Blundell . resolved

      definitely outside of scope of this CL, but is this code correct? Naively it would seem like it should be PLANE<n> throughout.

      Vasiliy Telezhnikov

      That's how it works, on the driver level we just pretend it's a single plane (so we pass only plane 0), but we path dma-buf+offset of the plane we want.

      Saifuddin Hitawala

      That makes sense, thanks for clarifying!

      Colin Blundell

      Thanks! I couldn't immediately find out: Where in the codebase do we put the data into the pixmaps that get processed here?

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
      Gerrit-Change-Number: 7617755
      Gerrit-PatchSet: 4
      Gerrit-Owner: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
      Gerrit-Reviewer: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
      Gerrit-Comment-Date: Wed, 04 Mar 2026 09:36:46 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy

      Saifuddin Hitawala (Gerrit)

      unread,
      Mar 4, 2026, 10:15:14 AM (9 days ago) Mar 4
      to Chromium LUCI CQ, Colin Blundell, Vasiliy Telezhnikov, chromium...@chromium.org, ozone-...@chromium.org

      Saifuddin Hitawala added 1 comment

      File ui/ozone/common/native_pixmap_egl_binding.cc
      Line 207, Patchset 3: attrs.push_back(EGL_DMA_BUF_PLANE0_FD_EXT);
      Colin Blundell . resolved

      definitely outside of scope of this CL, but is this code correct? Naively it would seem like it should be PLANE<n> throughout.

      Vasiliy Telezhnikov

      That's how it works, on the driver level we just pretend it's a single plane (so we pass only plane 0), but we path dma-buf+offset of the plane we want.

      Saifuddin Hitawala

      That makes sense, thanks for clarifying!

      Colin Blundell

      Thanks! I couldn't immediately find out: Where in the codebase do we put the data into the pixmaps that get processed here?

      Saifuddin Hitawala

      It's created on the clients like for OzoneImageBackingFactory over [here](https://source.chromium.org/chromium/chromium/src/+/main:gpu/command_buffer/service/shared_image/ozone_image_backing_factory.cc;drc=84e9f8cb8ba9621be941c81af04d33df743f7de4;l=143) but not sure where we put data into it. Maybe some other parts of ozone?

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I5a941f60f0049d1ccff6b4fd58ef3ba6477f6b14
      Gerrit-Change-Number: 7617755
      Gerrit-PatchSet: 4
      Gerrit-Owner: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Colin Blundell <blun...@chromium.org>
      Gerrit-Reviewer: Saifuddin Hitawala <hita...@chromium.org>
      Gerrit-Reviewer: Vasiliy Telezhnikov <vas...@chromium.org>
      Gerrit-Comment-Date: Wed, 04 Mar 2026 15:15:09 +0000
      satisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages