kmscube: create_framebuffer: backport modifier fix

Backport the upstream buffer modifier fix for create_framebuffer to
handle the case where no valid modifiers are available.

(From OE-Core rev: 983e3efb51ab22f1fa5f90cbbfba2d701aa425fc)

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Randolph Sapp
2024-10-11 15:26:35 -05:00
committed by Steve Sakoman
parent dfe311ef7a
commit c2dcb5102c
2 changed files with 32 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
From 23e3ab9b32258bfffd302769fdd290008da8277e Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Mon, 8 Aug 2022 20:22:39 +0200
Subject: [PATCH] drm-common.c: do not use invalid modifier
Prior to kernel 5.19 this was a soft failure, but 5.19
adds checks that result in a hard syscall fail.
Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/kmscube/-/commit/23e3ab9b32258bfffd302769fdd290008da8277e]
Signed-off-by: Randolph Sapp <rs@ti.com>
---
drm-common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drm-common.c b/drm-common.c
index eb5ac20..e736922 100644
--- a/drm-common.c
+++ b/drm-common.c
@@ -92,7 +92,7 @@ struct drm_fb * drm_fb_get_from_bo(struct gbm_bo *bo)
modifiers[i] = modifiers[0];
}
- if (modifiers[0]) {
+ if (modifiers[0] && modifiers[0] != DRM_FORMAT_MOD_INVALID) {
flags = DRM_MODE_FB_MODIFIERS;
printf("Using modifier %" PRIx64 "\n", modifiers[0]);
}
--
2.46.0

View File

@@ -14,6 +14,7 @@ SRCREV = "9f63f359fab1b5d8e862508e4e51c9dfe339ccb0"
SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \
file://0001-texturator-Use-correct-GL-extension-header.patch \
file://0001-common-fix-cast-type-in-init_egl.patch \
file://0001-drm-common.c-do-not-use-invalid-modifier.patch \
"
UPSTREAM_CHECK_COMMITS = "1"