From 5049d8518ece2ce46d5d0857d27a5489fa928383 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Fri, 8 May 2020 19:23:03 +0200 Subject: [PATCH] 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 Reviewed-by: Eric Engestrom Part-of: (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 516920f0fe5..7fb62155b4f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -850,7 +850,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"