Date: Wed, 28 Apr 2021 19:09:10 GMT From: Dmitry Marakasov <amdmi3@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org Subject: git: 7a06623c035f - 2021Q2 - devel/sdl20: backport Wayland fix for games/supertuxkart Message-ID: <202104281909.13SJ9AdB025637@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch 2021Q2 has been updated by amdmi3: URL: https://cgit.FreeBSD.org/ports/commit/?id=7a06623c035f41585104cc14f1b2fc04e09e660a commit 7a06623c035f41585104cc14f1b2fc04e09e660a Author: Dmitry Marakasov <amdmi3@FreeBSD.org> AuthorDate: 2021-04-27 18:28:46 +0000 Commit: Dmitry Marakasov <amdmi3@FreeBSD.org> CommitDate: 2021-04-28 19:07:42 +0000 devel/sdl20: backport Wayland fix for games/supertuxkart PR: 255418 Reported by: stephan@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@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 */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104281909.13SJ9AdB025637>