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:
parent
88517d5ae8
commit
9cb3316ecd
@ -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
|
||||
|
@ -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
|
||||
|
@ -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__) || \
|
@ -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;
|
||||
|
||||
|
@ -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);
|
@ -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 */
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user