diff --git a/srcpkgs/obs/patches/gcc14.patch b/srcpkgs/obs/patches/gcc14.patch new file mode 100644 index 00000000000..b7ea448de1d --- /dev/null +++ b/srcpkgs/obs/patches/gcc14.patch @@ -0,0 +1,40 @@ +From fd82ee5ac44ea59334efb80971e87edd26d03055 Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Wed, 16 Apr 2025 16:37:03 -0700 +Subject: [PATCH] libobs-opengl: Fix compile error on GCC 14+ and i686 + +Under the public gl_egl_query_dmabuf_modifiers_for_format, n_modifiers +is defined as size_t, however in the static query_dmabuf_modifiers +function, it is defined as EGLuint64KHR. + +Since query_dmabuf_modifiers is only called by +gl_egl_query_dmabuf_modifiers_for_format and n_modifiers is assigned +from an EGLint, make it size_t for both. + +This fixes building on i686 with gcc14. +--- + libobs-opengl/gl-egl-common.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libobs-opengl/gl-egl-common.c b/libobs-opengl/gl-egl-common.c +index 10682b1a6e5408..f6abe59355832a 100644 +--- a/libobs-opengl/gl-egl-common.c ++++ b/libobs-opengl/gl-egl-common.c +@@ -349,7 +349,7 @@ bool gl_egl_query_dmabuf_capabilities(EGLDisplay egl_display, enum gs_dmabuf_fla + } + + static inline bool query_dmabuf_modifiers(EGLDisplay egl_display, EGLint drm_format, EGLuint64KHR **modifiers, +- EGLuint64KHR *n_modifiers) ++ size_t *n_modifiers) + { + EGLint max_modifiers; + +@@ -376,7 +376,7 @@ static inline bool query_dmabuf_modifiers(EGLDisplay egl_display, EGLint drm_for + *modifiers = modifier_list; + } + +- *n_modifiers = (EGLuint64KHR)max_modifiers; ++ *n_modifiers = (size_t)max_modifiers; + return true; + } +