summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShannon Woods <shannonwoods@chromium.org>2013-07-24 18:45:24 -0400
committerShannon Woods <shannonwoods@chromium.org>2013-07-24 19:07:20 -0400
commitba6944849acb31e9db7e1f157cdbaf3a249512ee (patch)
tree9dc7e8aab572e63aa438027946ab4c195422d0cd
parent2ccad0643a7684427aaf42258e7bfc47ffb09f4b (diff)
downloadangle_dx11-ba6944849acb31e9db7e1f157cdbaf3a249512ee.tar.gz
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
-rw-r--r--src/libEGL/libEGL.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/libEGL/libEGL.cpp b/src/libEGL/libEGL.cpp
index bcba43f6..6e10c392 100644
--- a/src/libEGL/libEGL.cpp
+++ b/src/libEGL/libEGL.cpp
@@ -888,15 +888,18 @@ EGLBoolean __stdcall eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface
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))) ||