From 641a4a385b5239ec9c44e9ee592725d8af4c4479 Mon Sep 17 00:00:00 2001 From: Twaik Yont <9674930+twaik@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:07:32 +0200 Subject: [PATCH] fix for file descriptor-backed buffers with stride > width --- app/src/main/cpp/lorie/InitOutput.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/cpp/lorie/InitOutput.c b/app/src/main/cpp/lorie/InitOutput.c index 62e40268..7b0a502e 100644 --- a/app/src/main/cpp/lorie/InitOutput.c +++ b/app/src/main/cpp/lorie/InitOutput.c @@ -875,7 +875,7 @@ static PixmapPtr loriePixmapFromFds(ScreenPtr screen, CARD8 num_fds, const int * priv->imported = true; if (modifier == DRM_FORMAT_MOD_INVALID || modifier == RAW_MMAPPABLE_FD) { - check(!(priv->buffer = LorieBuffer_wrapFileDescriptor(width, height, AHARDWAREBUFFER_FORMAT_B8G8R8A8_UNORM, fds[0], offsets[0])), "DRI3: LorieBuffer_wrapAHardwareBuffer failed."); + check(!(priv->buffer = LorieBuffer_wrapFileDescriptor(max(width, strides[0] / 4), height, AHARDWAREBUFFER_FORMAT_B8G8R8A8_UNORM, fds[0], offsets[0])), "DRI3: LorieBuffer_wrapAHardwareBuffer failed."); screen->ModifyPixmapHeader(pixmap, width, height, 0, 0, strides[0], NULL); return pixmap; }