Module: Mesa Branch: main Commit: cda9980f9639093cf86897a760e90c89df7b6c0f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cda9980f9639093cf86897a760e90c89df7b6c0f
Author: Robert Foss <rf...@kernel.org> Date: Thu Nov 9 15:16:46 2023 +0100 egl/surfaceless: Fix EGL_DEVICE_EXT implementation The native_display checks are incorrect and partially never executed due to native_display always being NULL. Fixes: 1efaa858890 ("egl: Fix attrib_list[0] == EGL_NONE check") Signed-off-by: Robert Foss <rf...@kernel.org> Reviewed-by: Adam Jackson <a...@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26131> --- src/egl/main/egldisplay.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c index dd4926ce2ab..4eadb8f10aa 100644 --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c @@ -642,6 +642,7 @@ _EGLDisplay * _eglGetSurfacelessDisplay(void *native_display, const EGLAttrib *attrib_list) { _EGLDisplay *dpy; + _EGLDevice *dev = NULL; /* Any native display must be an EGLDeviceEXT we know about */ if (native_display != NULL) { @@ -657,8 +658,8 @@ _eglGetSurfacelessDisplay(void *native_display, const EGLAttrib *attrib_list) switch (attrib) { case EGL_DEVICE_EXT: - if ((native_display && native_display != (void *)value) || - (native_display != _eglLookupDevice(native_display))) { + dev = _eglLookupDevice((void *)value); + if (!dev) { _eglError(EGL_BAD_DEVICE_EXT, "eglGetPlatformDisplay"); return NULL; } @@ -671,10 +672,9 @@ _eglGetSurfacelessDisplay(void *native_display, const EGLAttrib *attrib_list) } } - dpy = - _eglFindDisplay(_EGL_PLATFORM_SURFACELESS, native_display, attrib_list); + dpy = _eglFindDisplay(_EGL_PLATFORM_SURFACELESS, NULL, attrib_list); if (dpy) { - dpy->Device = native_display; + dpy->Device = dev; } return dpy;