Mesa (staging/20.1): Expose EGL_KHR_platform_* when EXT is supported

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 19 20:24:36 UTC 2020


Module: Mesa
Branch: staging/20.1
Commit: 59234ec02499c0f603e287973c53c589ac0e6cec
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=59234ec02499c0f603e287973c53c589ac0e6cec

Author: Emmanuel Gil Peyrot <linkmauve at linkmauve.fr>
Date:   Fri May  8 19:23:03 2020 +0200

Expose EGL_KHR_platform_* when EXT is supported

On EGL 1.4, one had to check for the existence of EGL_EXT_platform_base
before querying the eglGetPlatformDisplayEXT() and
eglCreatePlatformWindowSurfaceEXT() symbols, to then use them if the
EGL_EXT_platform_* extension for the given platform was exposed.

Since EGL 1.5, the platform functionality was made core, which means we
can obtain the symbols unconditionally, but we can't know the EGL
version before having created a display, at which point we've already
done a platform selection by passing an EGLNativeDisplay.  The
EGL_KHR_platform_* extensions thus are used by clients to know whether
it's safe or not to dlsym() the EGL 1.5 symbols.

This commit adds those extensions when the given platform is enabled.

Acked-by: Alyssa Rosenzweig <alyssa at collabora.com>
Reviewed-by: Eric Engestrom <eric at engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5052>
(cherry picked from commit a3fb064e000a8706319dc996788159bf84a13f0f)

---

 .pick_status.json         | 2 +-
 src/egl/main/eglglobals.c | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index caf16c06f47..3e9e45bd3ec 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -301,7 +301,7 @@
         "description": "Expose EGL_KHR_platform_* when EXT is supported",
         "nominated": false,
         "nomination_type": null,
-        "resolution": 4,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": null
     },
diff --git a/src/egl/main/eglglobals.c b/src/egl/main/eglglobals.c
index 6811048bdf7..f5814b2b2a1 100644
--- a/src/egl/main/eglglobals.c
+++ b/src/egl/main/eglglobals.c
@@ -85,12 +85,15 @@ struct _egl_global _eglGlobal =
    "EGL_EXT_platform_device"
 #ifdef HAVE_WAYLAND_PLATFORM
    " EGL_EXT_platform_wayland"
+   " EGL_KHR_platform_wayland"
 #endif
 #ifdef HAVE_X11_PLATFORM
    " EGL_EXT_platform_x11"
+   " EGL_KHR_platform_x11"
 #endif
 #ifdef HAVE_DRM_PLATFORM
    " EGL_MESA_platform_gbm"
+   " EGL_KHR_platform_gbm"
 #endif
 #ifdef HAVE_SURFACELESS_PLATFORM
    " EGL_MESA_platform_surfaceless"



More information about the mesa-commit mailing list