git: 7a06623c035f - 2021Q2 - devel/sdl20: backport Wayland fix for games/supertuxkart
Dmitry Marakasov
amdmi3 at FreeBSD.org
Wed Apr 28 19:09:11 UTC 2021
The branch 2021Q2 has been updated by amdmi3:
URL: https://cgit.FreeBSD.org/ports/commit/?id=7a06623c035f41585104cc14f1b2fc04e09e660a
commit 7a06623c035f41585104cc14f1b2fc04e09e660a
Author: Dmitry Marakasov <amdmi3 at FreeBSD.org>
AuthorDate: 2021-04-27 18:28:46 +0000
Commit: Dmitry Marakasov <amdmi3 at FreeBSD.org>
CommitDate: 2021-04-28 19:07:42 +0000
devel/sdl20: backport Wayland fix for games/supertuxkart
PR: 255418
Reported by: stephan at lichtenauer.co.za
Submitted by: jbeich
(cherry picked from commit b46d53b6cedd133f4caa018e76a161e686ff5858)
---
devel/sdl20/Makefile | 2 +-
devel/sdl20/files/patch-wayland | 70 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 71 insertions(+), 1 deletion(-)
diff --git a/devel/sdl20/Makefile b/devel/sdl20/Makefile
index baeda1a40fc0..a504c98f31cd 100644
--- a/devel/sdl20/Makefile
+++ b/devel/sdl20/Makefile
@@ -1,7 +1,7 @@
PORTNAME= sdl2
PORTVERSION= 2.0.12
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= devel
MASTER_SITES= https://www.libsdl.org/release/
DISTNAME= SDL2-${PORTVERSION}
diff --git a/devel/sdl20/files/patch-wayland b/devel/sdl20/files/patch-wayland
new file mode 100644
index 000000000000..9191eff7fe43
--- /dev/null
+++ b/devel/sdl20/files/patch-wayland
@@ -0,0 +1,70 @@
+From 8babda2c206949ad9c4f42e64bf8ae3e35b2e709 Mon Sep 17 00:00:00 2001
+From: "Ryan C. Gordon" <icculus at 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 */
More information about the dev-commits-ports-all
mailing list