summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/egl/main/eglapi.c11
-rw-r--r--src/egl/main/eglglobals.h1
2 files changed, 11 insertions, 1 deletions
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index c57d29dda6..4df31cc03f 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -511,6 +511,15 @@ eglBindAPI(EGLenum api)
_EGLThreadInfo *t = _eglGetCurrentThread();
switch (api) {
+#ifdef EGL_VERSION_1_4
+ case EGL_OPENGL_API:
+ if (_eglGlobal.OpenGLAPISupported) {
+ t->CurrentAPI = api;
+ return EGL_TRUE;
+ }
+ _eglError(EGL_BAD_PARAMETER, "eglBindAPI");
+ return EGL_FALSE;
+#endif
case EGL_OPENGL_ES_API:
if (_eglGlobal.OpenGLESAPISupported) {
t->CurrentAPI = api;
@@ -546,7 +555,7 @@ eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype,
EGLenum
eglQueryAPI(void)
{
- /* returns one of EGL_OPENGL_ES_API or EGL_OPENVG_API */
+ /* returns one of EGL_OPENGL_API, EGL_OPENGL_ES_API or EGL_OPENVG_API */
_EGLThreadInfo *t = _eglGetCurrentThread();
return t->CurrentAPI;
}
diff --git a/src/egl/main/eglglobals.h b/src/egl/main/eglglobals.h
index 4fccd226b7..6b858b6b08 100644
--- a/src/egl/main/eglglobals.h
+++ b/src/egl/main/eglglobals.h
@@ -29,6 +29,7 @@ struct _egl_global
EGLScreenMESA FreeScreenHandle;
/* XXX these may be temporary */
+ EGLBoolean OpenGLAPISupported;
EGLBoolean OpenGLESAPISupported;
EGLBoolean OpenVGAPISupported;