[gtk+/wip/gdk-gl: 17/31] gdk/x11: Add API to query the GLX version



commit 3d2237865c4ff4f205a487466b9bc61ee9430a03
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Tue Aug 12 11:55:04 2014 +0100

    gdk/x11: Add API to query the GLX version

 gdk/x11/gdkglcontext-x11.c |   33 +++++++++++++++++++++++++++++++++
 gdk/x11/gdkx11glcontext.h  |    5 +++++
 2 files changed, 38 insertions(+), 0 deletions(-)
---
diff --git a/gdk/x11/gdkglcontext-x11.c b/gdk/x11/gdkglcontext-x11.c
index 8394eee..0a8c5ff 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 36ed984..c8fbc1d 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__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]