diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2014-08-12 11:55:04 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2014-08-12 11:55:04 +0100 |
commit | 3d2237865c4ff4f205a487466b9bc61ee9430a03 (patch) | |
tree | 555345a6976fb5eca825f3d516613d7f97bc1f35 | |
parent | 54edcca4d5bf9f739b54bcc0ed403cfd010d00c9 (diff) | |
download | gtk+-3d2237865c4ff4f205a487466b9bc61ee9430a03.tar.gz |
gdk/x11: Add API to query the GLX version
-rw-r--r-- | gdk/x11/gdkglcontext-x11.c | 33 | ||||
-rw-r--r-- | 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 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__ */ |