summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2014-08-12 11:55:04 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2014-08-12 11:55:04 +0100
commit3d2237865c4ff4f205a487466b9bc61ee9430a03 (patch)
tree555345a6976fb5eca825f3d516613d7f97bc1f35
parent54edcca4d5bf9f739b54bcc0ed403cfd010d00c9 (diff)
downloadgtk+-3d2237865c4ff4f205a487466b9bc61ee9430a03.tar.gz
gdk/x11: Add API to query the GLX version
-rw-r--r--gdk/x11/gdkglcontext-x11.c33
-rw-r--r--gdk/x11/gdkx11glcontext.h5
2 files changed, 38 insertions, 0 deletions
diff --git a/gdk/x11/gdkglcontext-x11.c b/gdk/x11/gdkglcontext-x11.c
index 8394eeeace..0a8c5ff1d4 100644
--- a/gdk/x11/gdkglcontext-x11.c
+++ b/gdk/x11/gdkglcontext-x11.c
@@ -780,3 +780,36 @@ gdk_x11_display_validate_gl_pixel_format (GdkDisplay *display,
return TRUE;
}
+
+/**
+ * gdk_x11_display_get_glx_version:
+ * @display: a #GdkDisplay
+ * @major: (out): return location for the GLX major version
+ * @minor: (out): return location for the GLX minor version
+ *
+ * Retrieves the version of the GLX implementation.
+ *
+ * Returns: %TRUE if GLX is available
+ *
+ * Since: 3.14
+ */
+gboolean
+gdk_x11_display_get_glx_version (GdkDisplay *display,
+ int *major,
+ int *minor)
+{
+ g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);
+
+ if (!GDK_IS_X11_DISPLAY (display))
+ return FALSE;
+
+ if (!gdk_x11_display_init_gl (display))
+ return FALSE;
+
+ if (major != NULL)
+ *major = GDK_X11_DISPLAY (display)->glx_version / 10;
+ if (minor != NULL)
+ *minor = GDK_X11_DISPLAY (display)->glx_version % 10;
+
+ return TRUE;
+}
diff --git a/gdk/x11/gdkx11glcontext.h b/gdk/x11/gdkx11glcontext.h
index 36ed984ecb..c8fbc1d02b 100644
--- a/gdk/x11/gdkx11glcontext.h
+++ b/gdk/x11/gdkx11glcontext.h
@@ -19,6 +19,11 @@ typedef struct _GdkX11GLContextClass GdkX11GLContextClass;
GDK_AVAILABLE_IN_3_14
GType gdk_x11_gl_context_get_type (void) G_GNUC_CONST;
+GDK_AVAILABLE_IN_3_14
+gboolean gdk_x11_display_get_glx_version (GdkDisplay *display,
+ int *major,
+ int *minor);
+
G_END_DECLS
#endif /* __GDK_X11_GL_CONTEXT_H__ */