bc2648e525
- Support legacy 'pulse' alias for PulseAudio driver - Fix handling of Ctrl key on Wayland - Add support for HiDPI cursors on Wayland - Fix keymap support on Wayland (rhbz#2007969) - Use EGL_EXT_present_opaque when available on Wayland - Expose xdg_toplevel to SysWM on Wayland
54 lines
1.6 KiB
Diff
54 lines
1.6 KiB
Diff
From 5113fedfa0e8592048a66cf8f852a59441e8bc9c Mon Sep 17 00:00:00 2001
|
|
From: Eric Engestrom <eric@engestrom.ch>
|
|
Date: Mon, 2 Aug 2021 23:01:12 +0100
|
|
Subject: [PATCH] video/wayland: use EGL_EXT_present_opaque when available
|
|
|
|
---
|
|
src/video/SDL_egl.c | 16 ++++++++++++++--
|
|
1 file changed, 14 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c
|
|
index 87d693e8d..41966db45 100644
|
|
--- a/src/video/SDL_egl.c
|
|
+++ b/src/video/SDL_egl.c
|
|
@@ -43,6 +43,11 @@
|
|
#endif
|
|
#endif /* EGL_KHR_create_context */
|
|
|
|
+#ifndef EGL_EXT_present_opaque
|
|
+#define EGL_EXT_present_opaque 1
|
|
+#define EGL_PRESENT_OPAQUE_EXT 0x31DF
|
|
+#endif /* EGL_EXT_present_opaque */
|
|
+
|
|
#if SDL_VIDEO_DRIVER_RPI
|
|
/* Raspbian places the OpenGL ES/EGL binaries in a non standard path */
|
|
#define DEFAULT_EGL ( vc4 ? "libEGL.so.1" : "libbrcmEGL.so" )
|
|
@@ -1182,8 +1187,8 @@ SDL_EGL_CreateSurface(_THIS, NativeWindowType nw)
|
|
EGLint format_wanted;
|
|
EGLint format_got;
|
|
#endif
|
|
- /* max 2 values plus terminator. */
|
|
- EGLint attribs[3];
|
|
+ /* max 2 key+value pairs, plus terminator. */
|
|
+ EGLint attribs[5];
|
|
int attr = 0;
|
|
|
|
EGLSurface * surface;
|
|
@@ -1216,6 +1221,13 @@ SDL_EGL_CreateSurface(_THIS, NativeWindowType nw)
|
|
}
|
|
}
|
|
|
|
+#ifdef EGL_EXT_present_opaque
|
|
+ if (SDL_EGL_HasExtension(_this, SDL_EGL_DISPLAY_EXTENSION, "EGL_EXT_present_opaque")) {
|
|
+ attribs[attr++] = EGL_PRESENT_OPAQUE_EXT;
|
|
+ attribs[attr++] = EGL_TRUE;
|
|
+ }
|
|
+#endif
|
|
+
|
|
attribs[attr++] = EGL_NONE;
|
|
|
|
surface = _this->egl_data->eglCreateWindowSurface(
|
|
--
|
|
2.32.0
|
|
|