kumquat-buildroot/package/rpi-userland
Peter Seiderer e008c0bb10 package/rpi-userland: add GLint64, GLuint64 and GLsync typedefs to GLES2/gl2ext.h
Fixes:

  - https://bugs.busybox.net/show_bug.cgi?id=13796

.../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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-25 14:56:12 +02:00
..
0001-Add-.pc-files-for-the-OpenGLESv2-EGL-and-bcm_host-li.patch
0002-interface-remove-faulty-assert-to-make-weston-happy-.patch
0003-Disable-Werror-everywhere.patch
0004-host-applications-disable-missing-applications.patch
0005-dtmerge-add-missing-include-for-va_list.patch
0006-interface-vcos-pthreads-CMakeLists.txt-fix-build-wit.patch
0007-GLES2-gl2ext.h-add-GLint64-GLuint64-and-GLsync-typed.patch
Config.in
rpi-userland.hash
rpi-userland.mk