On some platforms, `EGLNativeDisplayType` is an int instead of
a pointer, in which case the void pointer will raise
a `-Wint-conversion`.

Add change as a patch instead of updating SRCREV .
if we update SRCREV might will get compatiblity issue
with current gstreamer 1.20.7 version because SRCREV brings changes
which resolves negotiation issues encountered with V4L2 stateless
hardware video decoders when using kmscube video playback option
which has gstreamer dependency requirement to 1.22.0

Signed-off-by: Purushottam Choudhary <[email protected]>
---
 ...001-common-fix-cast-type-in-init_egl.patch | 34 +++++++++++++++++++
 meta/recipes-graphics/kmscube/kmscube_git.bb  |  6 ++--
 2 files changed, 38 insertions(+), 2 deletions(-)
 create mode 100644 
meta/recipes-graphics/kmscube/kmscube/0001-common-fix-cast-type-in-init_egl.patch

diff --git 
a/meta/recipes-graphics/kmscube/kmscube/0001-common-fix-cast-type-in-init_egl.patch
 
b/meta/recipes-graphics/kmscube/kmscube/0001-common-fix-cast-type-in-init_egl.patch
new file mode 100644
index 0000000000..50df211d60
--- /dev/null
+++ 
b/meta/recipes-graphics/kmscube/kmscube/0001-common-fix-cast-type-in-init_egl.patch
@@ -0,0 +1,34 @@
+From b2f97f53e01e07a920761e5d3e3ba22898b794a4 Mon Sep 17 00:00:00 2001
+From: Eric Engestrom <[email protected]>
+Date: Tue, 24 Sep 2024 17:57:45 +0200
+Subject: [PATCH] common: fix cast type in init_egl()
+
+On some platforms, `EGLNativeDisplayType` is an int instead of
+a pointer, in which case the void pointer will raise
+a `-Wint-conversion`.
+
+Let's cast it to the correct type directly.
+
+Closes: https://gitlab.freedesktop.org/mesa/kmscube/-/issues/16
+        https://gitlab.freedesktop.org/mesa/kmscube/-/merge_requests/57
+
+Upstream-Status: Backport 
[https://gitlab.freedesktop.org/mesa/kmscube/-/commit/b2f97f53e01e07a920761e5d3e3ba22898b794a4]
+
+Signed-off-by: Purushottam Choudhary <[email protected]>
+---
+ common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common.c b/common.c
+index e52d480..e1e2dcf 100644
+--- a/common.c
++++ b/common.c
+@@ -341,7 +341,7 @@ int init_egl(struct egl *egl, const struct gbm *gbm, int 
samples)
+               egl->display = 
egl->eglGetPlatformDisplayEXT(EGL_PLATFORM_GBM_KHR,
+                               gbm->dev, NULL);
+       } else {
+-              egl->display = eglGetDisplay((void *)gbm->dev);
++              egl->display = eglGetDisplay((EGLNativeDisplayType)gbm->dev);
+       }
+ 
+       if (!eglInitialize(egl->display, &major, &minor)) {
diff --git a/meta/recipes-graphics/kmscube/kmscube_git.bb 
b/meta/recipes-graphics/kmscube/kmscube_git.bb
index 98f110527e..40c5a14492 100644
--- a/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -11,8 +11,10 @@ DEPENDS = "virtual/libgles3 virtual/libgles2 virtual/egl 
libdrm virtual/libgbm"
 LIC_FILES_CHKSUM = 
"file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
 
 SRCREV = "9f63f359fab1b5d8e862508e4e51c9dfe339ccb0"
-SRC_URI = 
"git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https"
-SRC_URI += "file://0001-texturator-Use-correct-GL-extension-header.patch"
+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 \
+"
 UPSTREAM_CHECK_COMMITS = "1"
 
 S = "${WORKDIR}/git"
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#205116): 
https://lists.openembedded.org/g/openembedded-core/message/205116
Mute This Topic: https://lists.openembedded.org/mt/108734161/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to