|
@@ -0,0 +1,99 @@
|
|
|
|
+From ffb8eafe2d745ddf2f44101ffc4e6599ed096e69 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: Peter Seiderer <ps.report@gmx.net>
|
|
|
|
+Date: Mon, 10 May 2021 19:15:48 +0200
|
|
|
|
+Subject: [PATCH] GLES2/gl2ext.h: add GLint64, GLuint64 and GLsync typedefs
|
|
|
|
+MIME-Version: 1.0
|
|
|
|
+Content-Type: text/plain; charset=UTF-8
|
|
|
|
+Content-Transfer-Encoding: 8bit
|
|
|
|
+
|
|
|
|
+Fixes:
|
|
|
|
+
|
|
|
|
+.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting declaration ‘typedef void* GLsync’
|
|
|
|
+ 40 | typedef gpointer GLsync;
|
|
|
|
+ | ^~~~~~
|
|
|
|
+
|
|
|
|
+.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/qt5/QtGui/qopengles2ext.h:24:26: note: previous declaration as ‘typedef struct __GLsync* GLsync’
|
|
|
|
+ 24 | typedef struct __GLsync *GLsync;
|
|
|
|
+ | ^~~~~~
|
|
|
|
+
|
|
|
|
+File gstgl_compat.h:
|
|
|
|
+
|
|
|
|
+ 39 #if !GST_GL_HAVE_GLSYNC
|
|
|
|
+ 40 typedef gpointer GLsync;
|
|
|
|
+ 41 #endif
|
|
|
|
+
|
|
|
|
+File qopengles2ext.h:
|
|
|
|
+
|
|
|
|
+ 1 #ifndef __gles2_gl2ext_h_
|
|
|
|
+ 2 #define __gles2_gl2ext_h_ 1
|
|
|
|
+ 3
|
|
|
|
+ 4 #if 0
|
|
|
|
+ 5 #pragma qt_no_master_include
|
|
|
|
+ 6 #pragma qt_sync_skip_header_check
|
|
|
|
+ 7 #pragma qt_sync_stop_processing
|
|
|
|
+ 8 #endif
|
|
|
|
+ 9
|
|
|
|
+ 10 #ifdef __cplusplus
|
|
|
|
+ 11 extern "C" {
|
|
|
|
+ 12 #endif
|
|
|
|
+ 13
|
|
|
|
+ 14 #ifndef __gl3_h_
|
|
|
|
+ 15 /* These types are defined with reference to <inttypes.h>
|
|
|
|
+ 16 * in the Apple extension spec, but here we use the Khronos
|
|
|
|
+ 17 * portable types in khrplatform.h, and assume those types
|
|
|
|
+ 18 * are always defined.
|
|
|
|
+ 19 * If any other extensions using these types are defined,
|
|
|
|
+ 20 * the typedefs must move out of this block and be shared.
|
|
|
|
+ 21 */
|
|
|
|
+ 22 typedef khronos_int64_t GLint64;
|
|
|
|
+ 23 typedef khronos_uint64_t GLuint64;
|
|
|
|
+ 24 typedef struct __GLsync *GLsync;
|
|
|
|
+ 25 #endif
|
|
|
|
+
|
|
|
|
+The problem is that rpi-userland doesn't define GLsync, and both
|
|
|
|
+GStreamer and Qt have their own definition of GLsync in this case, but
|
|
|
|
+they are not the same.
|
|
|
|
+
|
|
|
|
+We reported this issue to:
|
|
|
|
+
|
|
|
|
+ * rpi-userland, to get the headers updated:
|
|
|
|
+ https://github.com/raspberrypi/userland/issues/469#issuecomment-1193864294
|
|
|
|
+
|
|
|
|
+ * gstreamer, to get their bogus definition of GLsync fixed:
|
|
|
|
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/973
|
|
|
|
+
|
|
|
|
+In the mean time, fix this by adding the missing definitions to
|
|
|
|
+rpi-userland, so that GStreamer and Qt don't try to provide their own.
|
|
|
|
+
|
|
|
|
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
|
|
|
+---
|
|
|
|
+ interface/khronos/include/GLES2/gl2ext.h | 13 +++++++++++++
|
|
|
|
+ 1 file changed, 13 insertions(+)
|
|
|
|
+
|
|
|
|
+diff --git a/interface/khronos/include/GLES2/gl2ext.h b/interface/khronos/include/GLES2/gl2ext.h
|
|
|
|
+index 4eacf7f..96e87ec 100644
|
|
|
|
+--- a/interface/khronos/include/GLES2/gl2ext.h
|
|
|
|
++++ b/interface/khronos/include/GLES2/gl2ext.h
|
|
|
|
+@@ -33,6 +33,19 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
+ extern "C" {
|
|
|
|
+ #endif
|
|
|
|
+
|
|
|
|
++#ifndef __gl3_h_
|
|
|
|
++/* These types are defined with reference to <inttypes.h>
|
|
|
|
++ * in the Apple extension spec, but here we use the Khronos
|
|
|
|
++ * portable types in khrplatform.h, and assume those types
|
|
|
|
++ * are always defined.
|
|
|
|
++ * If any other extensions using these types are defined,
|
|
|
|
++ * the typedefs must move out of this block and be shared.
|
|
|
|
++ */
|
|
|
|
++typedef khronos_int64_t GLint64;
|
|
|
|
++typedef khronos_uint64_t GLuint64;
|
|
|
|
++typedef struct __GLsync *GLsync;
|
|
|
|
++#endif
|
|
|
|
++
|
|
|
|
+ /* We want this */
|
|
|
|
+ #ifndef GL_GLEXT_PROTOTYPES
|
|
|
|
+ #define GL_GLEXT_PROTOTYPES
|
|
|
|
+--
|
|
|
|
+2.31.1
|
|
|
|
+
|