drv->API.SwapBuffers = _eglDRISwapBuffers;
/* enable supported extensions */
- drv->MESA_screen_surface = EGL_TRUE;
- drv->MESA_copy_context = EGL_TRUE;
+ drv->Extensions.MESA_screen_surface = EGL_TRUE;
+ drv->Extensions.MESA_copy_context = EGL_TRUE;
}
* the driver's Extensions string.
*/
static void
-UpdateExtensionsString(_EGLDriver *drv)
+_eglUpdateExtensionsString(_EGLDriver *drv)
{
- drv->Extensions[0] = 0;
+ drv->Extensions.String[0] = 0;
- if (drv->MESA_screen_surface)
- strcat(drv->Extensions, "EGL_MESA_screen_surface ");
- if (drv->MESA_copy_context)
- strcat(drv->Extensions, "EGL_MESA_copy_context ");
- assert(strlen(drv->Extensions) < MAX_EXTENSIONS_LEN);
+ if (drv->Extensions.MESA_screen_surface)
+ strcat(drv->Extensions.String, "EGL_MESA_screen_surface ");
+ if (drv->Extensions.MESA_copy_context)
+ strcat(drv->Extensions.String, "EGL_MESA_copy_context ");
+ assert(strlen(drv->Extensions.String) < MAX_EXTENSIONS_LEN);
}
case EGL_VERSION:
return "1.0";
case EGL_EXTENSIONS:
- UpdateExtensionsString(drv);
- return drv->Extensions;
+ _eglUpdateExtensionsString(drv);
+ return drv->Extensions.String;
default:
_eglError(EGL_BAD_PARAMETER, "eglQueryString");
return NULL;
#include "egltypedefs.h"
#include "eglapi.h"
-/* should probably use a dynamic-lengh string, but this will do */
+/* should probably use a dynamic-length string, but this will do */
#define MAX_EXTENSIONS_LEN 1000
+/**
+ * Optional EGL extensions info.
+ */
+struct _egl_extensions
+{
+ EGLBoolean MESA_screen_surface;
+ EGLBoolean MESA_copy_context;
+
+ char String[MAX_EXTENSIONS_LEN];
+};
+
+
/**
* Base class for device drivers.
*/
_EGLAPI API;
- /* Extension enable flags */
- EGLBoolean MESA_screen_surface;
- EGLBoolean MESA_copy_context;
-
- /* Extensions string */
- char Extensions[MAX_EXTENSIONS_LEN];
+ _EGLExtensions Extensions;
};