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
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
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
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
Comment 1 by hiroh@chromium.org
, Dec 4Labels: videoshortlist