egl: make sure EGL_VERSION_STRING query returns same version as eglInitialize()

This commit is contained in:
Brian Paul 2008-05-28 15:43:41 -06:00
parent 8cd33faee6
commit c56e15b093
4 changed files with 16 additions and 10 deletions

View File

@ -64,6 +64,7 @@ EGLBoolean EGLAPIENTRY
eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
{
if (dpy) {
EGLBoolean retVal;
_EGLDisplay *dpyPriv = _eglLookupDisplay(dpy);
if (!dpyPriv) {
return EGL_FALSE;
@ -75,8 +76,14 @@ eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
return EGL_FALSE;
}
/* Initialize the particular driver now */
return dpyPriv->Driver->API.Initialize(dpyPriv->Driver, dpy,
major, minor);
retVal = dpyPriv->Driver->API.Initialize(dpyPriv->Driver, dpy,
major, minor);
dpyPriv->Driver->APImajor = *major;
dpyPriv->Driver->APIminor = *minor;
sprintf(dpyPriv->Driver->Version, "%d.%d", *major, *minor);
return retVal;
}
return EGL_FALSE;
}

View File

@ -38,8 +38,6 @@
#define _EGL_MAX_EXTENSIONS_LEN 1000
#define _EGL_VERSION_STRING "1.4"
#define _EGL_VENDOR_STRING "Mesa Project"

View File

@ -306,7 +306,7 @@ _eglQueryString(_EGLDriver *drv, EGLDisplay dpy, EGLint name)
case EGL_VENDOR:
return _EGL_VENDOR_STRING;
case EGL_VERSION:
return _EGL_VERSION_STRING;
return drv->Version;
case EGL_EXTENSIONS:
_eglUpdateExtensionsString(drv);
return drv->Extensions.String;

View File

@ -24,17 +24,18 @@ struct _egl_extensions
*/
struct _egl_driver
{
EGLBoolean Initialized; /* set by driver after initialized */
EGLBoolean Initialized; /**< set by driver after initialized */
void *LibHandle; /* dlopen handle */
void *LibHandle; /**< dlopen handle */
_EGLDisplay *Display;
int ABIversion;
int APImajor, APIminor; /* returned through eglInitialize */
int APImajor, APIminor; /**< as returned by eglInitialize() */
char Version[10]; /**< initialized from APImajor/minor */
const char *ClientAPIs;
_EGLAPI API;
_EGLAPI API; /**< EGL API dispatch table */
_EGLExtensions Extensions;
};