Mesa currently ships 1.5.
G_BEGIN_DECLS
+/* Version requirements for EGL contexts.
+ *
+ * If you add support for EGL to your backend, please require this.
+ */
+#define GDK_EGL_MIN_VERSION_MAJOR (1)
+#define GDK_EGL_MIN_VERSION_MINOR (4)
+
#define GDK_GL_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GL_CONTEXT, GdkGLContextClass))
#define GDK_IS_GL_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GL_CONTEXT))
#define GDK_GL_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GL_CONTEXT, GdkGLContextClass))
_("Could not initialize EGL display"));
return NULL;
}
+ if (major < GDK_EGL_MIN_VERSION_MAJOR ||
+ (major == GDK_EGL_MIN_VERSION_MAJOR && minor < GDK_EGL_MIN_VERSION_MINOR))
+ {
+ eglTerminate (dpy);
+ g_set_error (error, GDK_GL_ERROR,
+ GDK_GL_ERROR_NOT_AVAILABLE,
+ _("EGL version %d.%d is too old. GTK requires %d.%d"),
+ major, minor, GDK_EGL_MIN_VERSION_MAJOR, GDK_EGL_MIN_VERSION_MINOR);
+ return NULL;
+ }
if (!eglBindAPI (EGL_OPENGL_API))
{
_("Could not initialize EGL display"));
return FALSE;
}
+ if (major < GDK_EGL_MIN_VERSION_MAJOR ||
+ (major == GDK_EGL_MIN_VERSION_MAJOR && minor < GDK_EGL_MIN_VERSION_MINOR))
+ {
+ eglTerminate (dpy);
+ self->egl_display = NULL;
+ g_set_error (error, GDK_GL_ERROR,
+ GDK_GL_ERROR_NOT_AVAILABLE,
+ _("EGL version %d.%d is too old. GTK requires %d.%d"),
+ major, minor, GDK_EGL_MIN_VERSION_MAJOR, GDK_EGL_MIN_VERSION_MINOR);
+ return FALSE;
+ }
if (!gdk_x11_display_create_egl_config (self, force, out_visual, out_depth, error))
{