mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-10-15 18:27:12 +00:00
mpv: make the drmprime overlay framebuffer the whole frame
The DRM framebuffer was made the size of the source rect while SRC_X and SRC_Y place that rect inside the frame. With panscan or a crop the rect reaches past the framebuffer, the atomic commit fails with ENOSPC and the plane stays dark. The patch, Upstream-Status: Pending, makes the framebuffer the size of the frame. AI-Generated: Uses Claude Code (Claude Opus 5.5) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
1 parent
2826f6233d
commit
d364539dc6
2 files changed
+25
No files matched your search
+24
@@ -0,0 +1,24 @@
|
||||
From: Markus Volk <f_l_k@t-online.de>
|
||||
Subject: [PATCH] hwdec_drmprime_overlay: make the framebuffer the whole frame
|
||||
|
||||
The framebuffer for the DRM plane was made the size of the source rect,
|
||||
while SRC_X and SRC_Y place that rect inside the frame. As soon as the
|
||||
rect does not start at the top left, with panscan or a video crop, it
|
||||
reaches past the framebuffer and the atomic commit fails with ENOSPC; the
|
||||
plane stays dark. Make the framebuffer the size of the frame and let the
|
||||
SRC_* properties pick the part that is shown.
|
||||
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
--- a/video/out/hwdec/hwdec_drmprime_overlay.c
|
||||
+++ b/video/out/hwdec/hwdec_drmprime_overlay.c
|
||||
@@ -187,7 +187,8 @@
|
||||
int dstw = MP_ALIGN_UP(p->dst.x1 - p->dst.x0, 2);
|
||||
int dsth = MP_ALIGN_UP(p->dst.y1 - p->dst.y0, 2);
|
||||
|
||||
- if (drm_prime_create_framebuffer(p->log, p->ctx->fd, desc, srcw, srch, &next_frame.fb, &p->handle_refs)) {
|
||||
+ // The framebuffer is the whole frame, SRC_* pick the part shown
|
||||
+ if (drm_prime_create_framebuffer(p->log, p->ctx->fd, desc, hw_image->w, hw_image->h, &next_frame.fb, &p->handle_refs)) {
|
||||
ret = -1;
|
||||
goto fail;
|
||||
}
|
||||
@@ -26,6 +26,7 @@ SRCREV = "41f6a645068483470267271e1d09966ca3b9f413"
|
||||
SRC_URI = " \
|
||||
git://github.com/mpv-player/mpv;name=mpv;branch=release/${@oe.utils.trim_version('${PV}', 2)};protocol=https;tag=v${PV} \
|
||||
file://0001-opengl-context-require-swap_buffers-param-for-FenceS.patch \
|
||||
file://0002-hwdec_drmprime_overlay-make-the-framebuffer-the-whole-frame.patch \
|
||||
"
|
||||
|
||||
inherit meson pkgconfig mime-xdg
|
||||
|
||||
Reference in new issue
Block a user