1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-27 05:10:36 +00:00

devel/sdl20: update to 2.0.18

PR:		252371
Submitted by:	vvd@unislabs.com
This commit is contained in:
Dmitry Marakasov 2021-12-27 18:18:53 +03:00
parent 88517d5ae8
commit 9cb3316ecd
7 changed files with 93 additions and 283 deletions

View File

@ -1,6 +1,5 @@
PORTNAME= sdl2
PORTVERSION= 2.0.12
PORTREVISION= 7
DISTVERSION= 2.0.18
CATEGORIES= devel
MASTER_SITES= https://www.libsdl.org/release/
DISTNAME= SDL2-${PORTVERSION}
@ -9,7 +8,7 @@ MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Cross-platform multimedia development API
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/COPYING.txt
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
GNU_CONFIGURE= yes
USES= gmake iconv libtool localbase:ldflags pathfix pkgconfig
@ -21,7 +20,7 @@ CONFIGURE_ARGS+= --disable-arts \
--enable-dummyaudio \
--enable-video-dummy \
--disable-dbus \
--disable-input-tslib \
--disable-esd --disable-esd-shared \
--disable-rpath
.if defined(MACHINE_CPU) && ${MACHINE_CPU:Mmmx}
CONFIGURE_ARGS+= --enable-mmx
@ -51,32 +50,33 @@ CONFIGURE_ARGS+= --disable-sse3
MAKE_ENV= V=1
OPTIONS_DEFINE= ALSA ASM DLOPEN HIDAPI JACK NAS OSS \
PULSEAUDIO SAMPLERATE SNDIO PTHREADS \
SDL_ATOMIC SDL_AUDIO SDL_CPUINFO SDL_EVENTS \
SDL_FILE SDL_HAPTIC SDL_JOYSTICK SDL_LOADSO \
SDL_POWER SDL_RENDER SDL_THREADS SDL_TIMERS \
SDL_VIDEO UDEV VIDEO_KMSDRM VIDEO_OPENGL \
VIDEO_OPENGLES2 VIDEO_WAYLAND VIDEO_X11
OPTIONS_DEFAULT= ASM DLOPEN OSS PTHREADS SDL_ATOMIC SDL_AUDIO \
OPTIONS_DEFINE= ALSA ASM HIDAPI JACK NAS OSS PIPEWARE PTHREADS \
PULSEAUDIO SAMPLERATE SDL_ATOMIC SDL_AUDIO \
SDL_CPUINFO SDL_EVENTS SDL_FILE SDL_HAPTIC \
SDL_JOYSTICK SDL_LOADSO SDL_POWER SDL_RENDER \
SDL_THREADS SDL_TIMERS SDL_VIDEO SNDIO UDEV \
VIDEO_KMSDRM VIDEO_OPENGL VIDEO_OPENGLES1 \
VIDEO_OPENGLES2 VIDEO_VULKAN VIDEO_WAYLAND \
VIDEO_X11
OPTIONS_DEFAULT= ASM OSS PTHREADS SDL_ATOMIC SDL_AUDIO \
SDL_CPUINFO SDL_EVENTS SDL_FILE SDL_HAPTIC \
SDL_JOYSTICK SDL_LOADSO SDL_POWER SDL_RENDER \
SDL_THREADS SDL_TIMERS SDL_VIDEO VIDEO_KMSDRM \
VIDEO_OPENGL VIDEO_OPENGLES2 VIDEO_WAYLAND \
VIDEO_X11
VIDEO_OPENGL VIDEO_OPENGLES1 VIDEO_OPENGLES2 \
VIDEO_VULKAN VIDEO_WAYLAND VIDEO_X11
OPTIONS_DEFINE_powerpc= ALTIVEC
OPTIONS_DEFINE_powerpc64= ALTIVEC
OPTIONS_DEFAULT_powerpc= ALTIVEC
OPTIONS_DEFAULT_powerpc64= ALTIVEC
ALSA_DESC= Audio output via the ALSA audio architecture
DLOPEN_DESC= Use dlopen for loading 3rd party libraries
HIDAPI_DESC= Use HIDAPI for low level joystick drivers
JACK_DESC= Audio output via the JackD sound server
NAS_DESC= Audio output via the Network Audio System
OSS_DESC= Audio output via the Open Sound System
PULSEAUDIO_DESC= Audio output via the PulseAudio sound server
PIPEWARE_DESC= Audio output via the Pipewire sound server
PTHREADS_DESC= Use POSIX threads for multi-threading
PULSEAUDIO_DESC= Audio output via the PulseAudio sound server
SAMPLERATE_DESC= Audio rate conversion via libsamplerate
SDL_ATOMIC_DESC= Enable the SDL Atomic subsystem
SDL_AUDIO_DESC= Enable the SDL Audio subsystem
@ -94,17 +94,34 @@ SDL_VIDEO_DESC= Enable the SDL Video subsystem
UDEV_DESC= Use udev for input device detection
VIDEO_KMSDRM_DESC= KMSDRM display support
VIDEO_OPENGL_DESC= OpenGL rendering support
VIDEO_OPENGLES1_DESC= OpenGL ES 1.x rendering support
VIDEO_OPENGLES2_DESC= OpenGL ES 2.x rendering support
VIDEO_VULKAN_DESC= Vulkan rendering support
VIDEO_WAYLAND_DESC= Wayland display support
VIDEO_X11_DESC= X11 display support
ALTIVEC_CONFIGURE_ENABLE= altivec
ALSA_CONFIGURE_ENABLE= alsa alsa-shared
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_IMPLIES= SDL_AUDIO
ASM_CONFIGURE_ENABLE= assembly
DLOPEN_CONFIGURE_ENABLE= sdl-dlopen
DLOPEN_CONFIGURE_OFF= --disable-video-vulkan
HIDAPI_CONFIGURE_ENABLE= hidapi
HIDAPI_IMPLIES= SDL_JOYSTICK
JACK_CONFIGURE_ENABLE= jack jack-shared
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_IMPLIES= SDL_AUDIO
NAS_CONFIGURE_ENABLE= nas nas-shared
NAS_LIB_DEPENDS= libaudio.so:audio/nas
NAS_IMPLIES= SDL_AUDIO
OSS_CONFIGURE_ENABLE= oss
OSS_IMPLIES= SDL_AUDIO
PIPEWARE_CONFIGURE_ENABLE= pipewire pipewire-shared
PIPEWARE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
PIPEWARE_IMPLIES= SDL_AUDIO
PTHREADS_CONFIGURE_ENABLE= pthreads pthread-sem
PULSEAUDIO_CONFIGURE_ENABLE= pulseaudio pulseaudio-shared
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_IMPLIES= SDL_AUDIO
SAMPLERATE_CONFIGURE_ENABLE= libsamplerate libsamplerate-shared
SAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
SDL_ATOMIC_CONFIGURE_ENABLE= atomic gcc-atomics
@ -114,15 +131,58 @@ SDL_EVENTS_CONFIGURE_ENABLE= events
SDL_FILE_CONFIGURE_ENABLE= filesystem
SDL_HAPTIC_CONFIGURE_ENABLE= haptic
SDL_JOYSTICK_CONFIGURE_ENABLE= joystick
SDL_JOYSTICK_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
SDL_JOYSTICK_LIB_DEPENDS= libinotify.so:devel/libinotify
SDL_LOADSO_CONFIGURE_ENABLE= loadso
SDL_POWER_CONFIGURE_ENABLE= power
SDL_RENDER_CONFIGURE_ENABLE= render
SDL_THREADS_CONFIGURE_ENABLE= threads
SDL_TIMERS_CONFIGURE_ENABLE= timers
SDL_VIDEO_CONFIGURE_ENABLE= video
SNDIO_CONFIGURE_ENABLE= sndio sndio-shared
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
SNDIO_IMPLIES= SDL_AUDIO
UDEV_CONFIGURE_ENABLE= libudev
UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd
UDEV_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
VIDEO_KMSDRM_CONFIGURE_ENABLE= video-kmsdrm kmsdrm-shared
VIDEO_KMSDRM_USES= gl
VIDEO_KMSDRM_USE= GL=gbm
VIDEO_KMSDRM_IMPLIES= SDL_VIDEO
VIDEO_OPENGL_CONFIGURE_ENABLE= video-opengl
VIDEO_OPENGL_USES= gl
VIDEO_OPENGL_USE= GL=gl
VIDEO_OPENGL_IMPLIES= SDL_VIDEO
VIDEO_OPENGLES_CONFIGURE_ENABLE=video-opengles
VIDEO_OPENGLES1_CONFIGURE_ENABLE=video-opengles1
VIDEO_OPENGLES1_USES= gl
VIDEO_OPENGLES1_USE= GL=egl,glesv1
VIDEO_OPENGLES1_IMPLIES= SDL_VIDEO VIDEO_OPENGLES
VIDEO_OPENGLES2_CONFIGURE_ENABLE=video-opengles2
VIDEO_OPENGLES2_USES= gl
VIDEO_OPENGLES2_USE= GL=egl,glesv2
VIDEO_OPENGLES2_IMPLIES= SDL_VIDEO VIDEO_OPENGLES
VIDEO_VULKAN_CONFIGURE_ENABLE= video-vulkan
VIDEO_VULKAN_IMPLIES= SDL_LOADSO SDL_VIDEO
VIDEO_WAYLAND_CONFIGURE_ENABLE= video-wayland wayland-shared video-wayland-qt-touch
VIDEO_WAYLAND_BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols \
${LOCALBASE}/include/linux/input.h:devel/evdev-proto
VIDEO_WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland \
libxkbcommon.so:x11/libxkbcommon
VIDEO_WAYLAND_IMPLIES= SDL_VIDEO VIDEO_OPENGLES2
VIDEO_X11_CONFIGURE_ENABLE= video-x11 x11-shared \
video-x11-xcursor \
video-x11-xdbe \
video-x11-xinerama \
video-x11-xinput \
video-x11-xfixes \
video-x11-xrandr \
video-x11-scrnsaver \
video-x11-xshape \
video-x11-vm
VIDEO_X11_USES= xorg
VIDEO_X11_USE= XORG=xcursor,xext,xinerama,xi,xfixes,xrandr,xscrnsaver,xxf86vm
VIDEO_X11_IMPLIES= SDL_VIDEO
.include <bsd.port.options.mk>
@ -132,144 +192,6 @@ BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils
CFLAGS+= -B${LOCALBASE}/bin -no-integrated-as
.endif
.if ${PORT_OPTIONS:MALSA}
.if !${PORT_OPTIONS:MSDL_AUDIO}
IGNORE= option ALSA requires SDL_AUDIO
.endif
CONFIGURE_ARGS+= --enable-alsa --enable-alsa-shared
LIB_DEPENDS+= libasound.so:audio/alsa-lib
.else
CONFIGURE_ARGS+= --disable-alsa --disable-alsa-shared
.endif
.if ${PORT_OPTIONS:MJACK}
.if !${PORT_OPTIONS:MSDL_AUDIO}
IGNORE= option JACK requires SDL_AUDIO
.endif
CONFIGURE_ARGS+= --enable-jack --enable-jack-shared
LIB_DEPENDS+= libjack.so:audio/jack
.else
CONFIGURE_ARGS+= --disable-jack --disable-jack-shared
.endif
CONFIGURE_ARGS+= --disable-esd --disable-esd-shared
.if ${PORT_OPTIONS:MNAS}
.if !${PORT_OPTIONS:MSDL_AUDIO}
IGNORE= option NAS requires SDL_AUDIO
.endif
CONFIGURE_ARGS+= --enable-nas --enable-nas-shared
LIB_DEPENDS+= libaudio.so:audio/nas
.else
CONFIGURE_ARGS+= --disable-nas --disable-nas-shared
.endif
.if ${PORT_OPTIONS:MOSS}
.if !${PORT_OPTIONS:MSDL_AUDIO}
IGNORE= option OSS requires SDL_AUDIO
.endif
CONFIGURE_ARGS+= --enable-oss
.else
CONFIGURE_ARGS+= --disable-oss
.endif
.if ${PORT_OPTIONS:MPULSEAUDIO}
.if !${PORT_OPTIONS:MSDL_AUDIO}
IGNORE= option PULSEAUDIO requires SDL_AUDIO
.endif
CONFIGURE_ARGS+= --enable-pulseaudio --enable-pulseaudio-shared
.else
CONFIGURE_ARGS+= --disable-pulseaudio --disable-pulseaudio-shared
.endif
.if ${PORT_OPTIONS:MSNDIO}
.if !${PORT_OPTIONS:MSDL_AUDIO}
IGNORE= option SNDIO requires SDL_AUDIO
.endif
CONFIGURE_ARGS+= --enable-sndio --enable-sndio-shared
LIB_DEPENDS+= libsndio.so:audio/sndio
.else
CONFIGURE_ARGS+= --disable-sndio --disable-sndio-shared
.endif
.if ${PORT_OPTIONS:MVIDEO_KMSDRM}
.if !${PORT_OPTIONS:MSDL_VIDEO}
IGNORE= option VIDEO_KMSDRM requires SDL_VIDEO
.endif
CONFIGURE_ARGS+= --enable-video-kmsdrm --enable-kmsdrm-shared
USE_GL+= gbm
.else
CONFIGURE_ARGS+= --disable-video-kmsdrm --disable-video-kmsdrm
.endif
.if ${PORT_OPTIONS:MVIDEO_OPENGL}
.if !${PORT_OPTIONS:MSDL_VIDEO}
IGNORE= option VIDEO_OPENGL requires SDL_VIDEO
.endif
CONFIGURE_ARGS+= --enable-video-opengl
USES+= gl
USE_GL+= gl
.else
CONFIGURE_ARGS+= --disable-video-opengl
.endif
.if ${PORT_OPTIONS:MVIDEO_X11}
.if !${PORT_OPTIONS:MSDL_VIDEO}
IGNORE= option VIDEO_X11 requires SDL_VIDEO
.endif
CONFIGURE_ARGS+= --enable-video-x11 \
--enable-x11-shared \
--enable-video-x11-xcursor \
--enable-video-x11-xinerama \
--enable-video-x11-xinput \
--enable-video-x11-xrandr \
--enable-video-x11-scrnsaver \
--enable-video-x11-xshape \
--enable-video-x11-vm
USES+= xorg
USE_XORG+= xinerama xcursor xi xrandr xscrnsaver xxf86vm xext
.else
CONFIGURE_ARGS+= --disable-video-x11 \
--disable-x11-shared \
--disable-video-x11-xcursor \
--disable-video-x11-xinerama \
--disable-video-x11-xinput \
--disable-video-x11-xrandr \
--disable-video-x11-scrnsaver \
--disable-video-x11-xshape \
--disable-video-x11-vm
.endif
.if ${PORT_OPTIONS:MVIDEO_OPENGLES2}
.if !${PORT_OPTIONS:MSDL_VIDEO}
IGNORE= option VIDEO_OPENGLES2 requires SDL_VIDEO
.endif
CONFIGURE_ARGS+= --enable-video-opengles \
--enable-video-opengles2
USE_GL+= egl glesv2
.else
CONFIGURE_ARGS+= --disable-video-opengles \
--disable-video-opengles2
.endif
.if ${PORT_OPTIONS:MVIDEO_WAYLAND}
.if !${PORT_OPTIONS:MSDL_VIDEO}
IGNORE= option VIDEO_WAYLAND requires SDL_VIDEO
.endif
.if !${PORT_OPTIONS:MVIDEO_OPENGLES2}
IGNORE= option VIDEO_WAYLAND requires VIDEO_OPENGLES2
.endif
CONFIGURE_ARGS+= --enable-video-wayland \
--enable-wayland-shared
BUILD_DEPENDS+= wayland-protocols>0:graphics/wayland-protocols \
${LOCALBASE}/include/linux/input.h:devel/evdev-proto
LIB_DEPENDS+= libwayland-egl.so:graphics/wayland \
libxkbcommon.so:x11/libxkbcommon
.else
CONFIGURE_ARGS+= --disable-video-wayland \
--disable-wayland-shared
.endif
.include <bsd.port.pre.mk>
.if !empty(ICONV_LIB)
@ -277,8 +199,7 @@ CONFIGURE_ARGS+= ac_cv_lib_iconv_iconv_open=yes ac_cv_func_iconv=yes
.endif
post-patch:
@${REINPLACE_CMD} -e '/ CheckInputEvents$$/d' \
-e 's/-liconv/${ICONV_LIB}/g' ${WRKSRC}/configure
@${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/g' ${WRKSRC}/configure
# Clang does not provide _m_prefetch
@${REINPLACE_CMD} 's/_m_prefetch/__builtin_prefetch/' \
${WRKSRC}/configure ${WRKSRC}/src/video/SDL_blit_A.c

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1583890578
SHA256 (SDL2-2.0.12.tar.gz) = 349268f695c02efbc9b9148a70b85e58cefbbf704abd3e91be654db7f1e2c863
SIZE (SDL2-2.0.12.tar.gz) = 5720162
TIMESTAMP = 1638578013
SHA256 (SDL2-2.0.18.tar.gz) = 94d40cd73dbfa10bb6eadfbc28f355992bb2d6ef6761ad9d4074eff95ee5711c
SIZE (SDL2-2.0.18.tar.gz) = 7294032

View File

@ -1,11 +0,0 @@
--- include/SDL_endian.h.orig 2020-10-03 02:13:42 UTC
+++ include/SDL_endian.h
@@ -44,6 +44,8 @@
#define SDL_BYTEORDER __BYTE_ORDER
#elif defined(__OpenBSD__)
#include <endian.h>
+#elif defined(__FreeBSD__)
+#include <sys/endian.h>
#define SDL_BYTEORDER BYTE_ORDER
#else
#if defined(__hppa__) || \

View File

@ -1,12 +1,12 @@
--- src/video/kmsdrm/SDL_kmsdrmvideo.c.orig 2020-03-11 01:36:18 UTC
--- src/video/kmsdrm/SDL_kmsdrmvideo.c.orig
+++ src/video/kmsdrm/SDL_kmsdrmvideo.c
@@ -391,7 +391,9 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window * window)
Uint32 height = dispdata->mode.vdisplay;
Uint32 surface_fmt = GBM_FORMAT_XRGB8888;
Uint32 surface_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING;
@@ -1407,7 +1407,9 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window * window)
uint32_t surface_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING;
uint32_t width, height;
+#if SDL_VIDEO_OPENGL_EGL
EGLContext egl_context;
+#endif
if (!KMSDRM_gbm_device_is_format_supported(viddata->gbm, surface_fmt, surface_flags)) {
SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "GBM surface format not supported. Trying anyway.");
int ret = 0;

View File

@ -1,33 +0,0 @@
--- src/cpuinfo/SDL_cpuinfo.c.orig 2020-03-11 01:36:18 UTC
+++ src/cpuinfo/SDL_cpuinfo.c
@@ -53,6 +53,9 @@
#include <sys/param.h>
#include <sys/sysctl.h> /* For AltiVec check */
#include <machine/cpu.h>
+#elif defined(__FreeBSD__) && defined(__powerpc__)
+#include <machine/cpu.h>
+#include <sys/auxv.h>
#elif SDL_ALTIVEC_BLITTERS && HAVE_SETJMP
#include <signal.h>
#include <setjmp.h>
@@ -110,7 +113,7 @@
#define CPU_HAS_AVX512F (1 << 12)
#define CPU_HAS_ARM_SIMD (1 << 13)
-#if SDL_ALTIVEC_BLITTERS && HAVE_SETJMP && !__MACOSX__ && !__OpenBSD__
+#if SDL_ALTIVEC_BLITTERS && HAVE_SETJMP && !__MACOSX__ && !__OpenBSD__ && !__FreeBSD__
/* This is the brute force way of detecting instruction sets...
the idea is borrowed from the libmpeg2 library - thanks!
*/
@@ -325,6 +328,11 @@ CPU_haveAltiVec(void)
int error = sysctl(selectors, 2, &hasVectorUnit, &length, NULL, 0);
if (0 == error)
altivec = (hasVectorUnit != 0);
+#elif defined(__FreeBSD__) && defined(__powerpc__)
+ unsigned long cpufeatures;
+ elf_aux_info(AT_HWCAP, &cpufeatures, sizeof(cpufeatures));
+ altivec = cpufeatures & PPC_FEATURE_HAS_ALTIVEC;
+ return altivec;
#elif SDL_ALTIVEC_BLITTERS && HAVE_SETJMP
void (*handler) (int sig);
handler = signal(SIGILL, illegal_instruction);

View File

@ -1,70 +0,0 @@
From 8babda2c206949ad9c4f42e64bf8ae3e35b2e709 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <icculus@icculus.org>
Date: Thu, 16 Jul 2020 13:18:19 -0400
Subject: [PATCH] egl: SDL_EGL_LoadLibaryOnly() shouldn't set
_this->gl_config.driver_loaded = 1
This is handled in in the higher-level SDL_GL_LoadLibrary().
All uses of SDL_EGL_LoadLibrary (which calls the Only version) are just
target-specific wrappers for their own GL_LoadLibrary hook, with two
exceptions which now handle driver_loaded correctly (although it's
questionable if these init-if-no-one-did-it-correctly-already code blocks
should exist at all, fwiw).
Fixes Bugzilla #5190.
---
src/video/SDL_egl.c | 2 --
src/video/cocoa/SDL_cocoaopengles.m | 2 ++
src/video/windows/SDL_windowsopengles.c | 3 ++-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c
index 58939053c..3358f47b8 100644
--- src/video/SDL_egl.c
+++ src/video/SDL_egl.c
@@ -438,8 +438,6 @@ SDL_EGL_LoadLibraryOnly(_THIS, const char *egl_path)
LOAD_FUNC_EGLEXT(eglQueryDevicesEXT);
LOAD_FUNC_EGLEXT(eglGetPlatformDisplayEXT);
- _this->gl_config.driver_loaded = 1;
-
if (path) {
SDL_strlcpy(_this->gl_config.driver_path, path, sizeof(_this->gl_config.driver_path) - 1);
} else {
diff --git a/src/video/cocoa/SDL_cocoaopengles.m b/src/video/cocoa/SDL_cocoaopengles.m
index a45a9f57c..0f551de10 100644
--- src/video/cocoa/SDL_cocoaopengles.m
+++ src/video/cocoa/SDL_cocoaopengles.m
@@ -109,10 +109,12 @@
if (_this->egl_data == NULL) {
+ SDL_assert(!_this->gl_config.driver_loaded);
if (SDL_EGL_LoadLibrary(_this, NULL, EGL_DEFAULT_DISPLAY, 0) < 0) {
SDL_EGL_UnloadLibrary(_this);
return -1;
}
+ _this->gl_config.driver_loaded = 1;
}
/* Create the GLES window surface */
diff --git a/src/video/windows/SDL_windowsopengles.c b/src/video/windows/SDL_windowsopengles.c
index e4bfe49cc..5ee46d83c 100644
--- src/video/windows/SDL_windowsopengles.c
+++ src/video/windows/SDL_windowsopengles.c
@@ -107,12 +107,13 @@ WIN_GLES_SetupWindow(_THIS, SDL_Window * window)
SDL_Window *current_win = SDL_GL_GetCurrentWindow();
SDL_GLContext current_ctx = SDL_GL_GetCurrentContext();
-
if (_this->egl_data == NULL) {
+ SDL_assert(!_this->gl_config.driver_loaded);
if (SDL_EGL_LoadLibrary(_this, NULL, EGL_DEFAULT_DISPLAY, 0) < 0) {
SDL_EGL_UnloadLibrary(_this);
return -1;
}
+ _this->gl_config.driver_loaded = 1;
}
/* Create the GLES window surface */

View File

@ -16,15 +16,18 @@ include/SDL2/SDL_filesystem.h
include/SDL2/SDL_gamecontroller.h
include/SDL2/SDL_gesture.h
include/SDL2/SDL_haptic.h
include/SDL2/SDL_hidapi.h
include/SDL2/SDL_hints.h
include/SDL2/SDL_joystick.h
include/SDL2/SDL_keyboard.h
include/SDL2/SDL_keycode.h
include/SDL2/SDL_loadso.h
include/SDL2/SDL_locale.h
include/SDL2/SDL_log.h
include/SDL2/SDL_main.h
include/SDL2/SDL_messagebox.h
include/SDL2/SDL_metal.h
include/SDL2/SDL_misc.h
include/SDL2/SDL_mouse.h
include/SDL2/SDL_mutex.h
include/SDL2/SDL_name.h
@ -76,7 +79,7 @@ include/SDL2/close_code.h
lib/cmake/SDL2/sdl2-config-version.cmake
lib/cmake/SDL2/sdl2-config.cmake
lib/libSDL2-2.0.so.0
lib/libSDL2-2.0.so.0.12.0
lib/libSDL2-2.0.so.0.18.0
lib/libSDL2.a
lib/libSDL2.so
lib/libSDL2_test.a