Fixes handling in eglMakeCurrent to allow for null displays.
TRAC #23577
On behalf of callow.mark@artspark.co.jp
Landed-by: Shannon Woods
Signed-off-by: Jamie Madill
Signed-off-by: Geoff Lang
diff --git a/src/libEGL/libEGL.cpp b/src/libEGL/libEGL.cpp
index bcba43f..6e10c39 100644
--- a/src/libEGL/libEGL.cpp
+++ b/src/libEGL/libEGL.cpp
@@ -888,15 +888,18 @@
return EGL_FALSE;
}
- rx::Renderer *renderer = display->getRenderer();
- if (renderer->testDeviceLost(true))
+ if (dpy != EGL_NO_DISPLAY)
{
- return EGL_FALSE;
- }
+ rx::Renderer *renderer = display->getRenderer();
+ if (renderer->testDeviceLost(true))
+ {
+ return EGL_FALSE;
+ }
- if (renderer->isDeviceLost())
- {
- return egl::error(EGL_CONTEXT_LOST, EGL_FALSE);
+ if (renderer->isDeviceLost())
+ {
+ return egl::error(EGL_CONTEXT_LOST, EGL_FALSE);
+ }
}
if ((draw != EGL_NO_SURFACE && !validateSurface(display, static_cast<egl::Surface*>(draw))) ||