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

Issue 911370 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

GbmWrapper: Always creates one fd for each plane

Project Member Reported by hiroh@chromium.org, Dec 4

Issue description

Currently, GbmWrapper only acquire one fd regardless of number of planes. This leads lack of fd info for NV12 buffer on exynos. See [1] for detail.
dcastagna@ said, mesa driver issue which causes this 1FD workaround was supposed to be already fixed thanks to [2].
In fact, we have tried removing the 1FD workaround previously [3], but it causes video playback issue on kevin (RK3399). We should check the current status and investigate the problem if there is still.
[1] https://docs.google.com/document/d/1hYasXhNP4v7LuqNtoZZYZQ-mzwKs3RUEpxSCz8m6Mmg/edit#heading=h.8z28xqszvdwu
[2] https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/378198
[3] https://chromium-review.googlesource.com/c/chromium/src/+/549576
 
Cc: posciak@chromium.org
Labels: videoshortlist
First of all, the CL [1] is outdated. I am rebasing or even creating new CL based on it. 
[1] https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/378198
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 17 (5 days ago)

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

commit 46eb9e2770083a3789d4bde29645f905a5a9c417
Author: Hirokazu Honda <hiroh@chromium.org>
Date: Thu Jan 17 15:09:36 2019

ozone: Remove mesa i965 same-fd workaround restriction

NOTE: This is based on crrev.com/c/549576.

After Mesa same-fd for eglCreateImageKHR restriction was relaxed in
crrev.com/c/378198/, it is now possible to remove the workaround in chromium.

The changes are as follows:
1. ClientNativePixmapDmaBuf can map multiple plane using multiple FDs.
2. GLImageNativePixmap can create EGLImage using multiple FDs.
3. GbmBuffer/GbmPixmap manages multiple FDs.

BUG= 642410 , 911370
TEST=VDA unittest and VEA unittest
TEST=Playback with Chrome ARC++ and ARC++ DRM L1 on kevin, hana, eve
TEST=Playback with Chrome on peach_pit and nyan_big

Change-Id: I23848b8bcd0e240307633a5201b4b8e58b374282
Reviewed-on: https://chromium-review.googlesource.com/c/1362777
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623686}
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/components/arc/video_accelerator/gpu_arc_video_decode_accelerator.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/media/gpu/v4l2/generic_v4l2_device.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/media/gpu/v4l2/v4l2_video_decode_accelerator.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/gfx/linux/client_native_pixmap_dmabuf.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/gfx/linux/client_native_pixmap_dmabuf.h
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/gfx/native_pixmap.h
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/gl/gl_image_native_pixmap.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/gl/test/gl_image_test_template.h
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/ozone/common/linux/gbm_buffer.h
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/ozone/common/linux/gbm_wrapper.cc
[modify] https://crrev.com/46eb9e2770083a3789d4bde29645f905a5a9c417/ui/ozone/platform/drm/gpu/gbm_surface_factory.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 17 (5 days ago)

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

commit 8ae71818cf945bea9f803e8a539e050da37ba054
Author: Ben Pastene <bpastene@chromium.org>
Date: Thu Jan 17 18:29:12 2019

Revert "ozone: Remove mesa i965 same-fd workaround restriction"

This reverts commit 46eb9e2770083a3789d4bde29645f905a5a9c417.

Reason for revert: causing tast failures on amd64-generic VM bot

See https://bugs.chromium.org/p/chromium/issues/detail?id=923061#c2

Original change's description:
> ozone: Remove mesa i965 same-fd workaround restriction
> 
> NOTE: This is based on crrev.com/c/549576.
> 
> After Mesa same-fd for eglCreateImageKHR restriction was relaxed in
> crrev.com/c/378198/, it is now possible to remove the workaround in chromium.
> 
> The changes are as follows:
> 1. ClientNativePixmapDmaBuf can map multiple plane using multiple FDs.
> 2. GLImageNativePixmap can create EGLImage using multiple FDs.
> 3. GbmBuffer/GbmPixmap manages multiple FDs.
> 
> BUG= 642410 , 911370
> TEST=VDA unittest and VEA unittest
> TEST=Playback with Chrome ARC++ and ARC++ DRM L1 on kevin, hana, eve
> TEST=Playback with Chrome on peach_pit and nyan_big
> 
> Change-Id: I23848b8bcd0e240307633a5201b4b8e58b374282
> Reviewed-on: https://chromium-review.googlesource.com/c/1362777
> Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
> Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> Reviewed-by: Pawel Osciak <posciak@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#623686}

TBR=rjkroege@chromium.org,posciak@chromium.org,dcheng@chromium.org,dcastagna@chromium.org,hiroh@chromium.org

Change-Id: Ie9620b2022ec37ca5e55613d4fbe63247d357862
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  642410 , 911370, 923061
Reviewed-on: https://chromium-review.googlesource.com/c/1418124
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623761}
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/components/arc/video_accelerator/gpu_arc_video_decode_accelerator.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/media/gpu/v4l2/generic_v4l2_device.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/media/gpu/v4l2/v4l2_video_decode_accelerator.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/gfx/linux/client_native_pixmap_dmabuf.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/gfx/linux/client_native_pixmap_dmabuf.h
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/gfx/native_pixmap.h
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/gl/gl_image_native_pixmap.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/gl/test/gl_image_test_template.h
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/ozone/common/linux/gbm_buffer.h
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/ozone/common/linux/gbm_wrapper.cc
[modify] https://crrev.com/8ae71818cf945bea9f803e8a539e050da37ba054/ui/ozone/platform/drm/gpu/gbm_surface_factory.cc

Sign in to add a comment