diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c index dbfe2341e0..a7c8279d9b 100644 --- a/gdk/gdkglcontext.c +++ b/gdk/gdkglcontext.c @@ -110,6 +110,7 @@ typedef struct { guint has_unpack_subimage : 1; guint has_debug_output : 1; guint has_bgra : 1; + guint has_image_storage : 1; guint extensions_checked : 1; guint debug_enabled : 1; guint forward_compatible : 1; @@ -1558,6 +1559,8 @@ gdk_gl_context_check_extensions (GdkGLContext *context) epoxy_has_gl_extension ("GL_ARB_sync") || epoxy_has_gl_extension ("GL_APPLE_sync"); + priv->has_image_storage = epoxy_has_gl_extension ("GL_EXT_EGL_image_storage"); + #ifdef G_ENABLE_DEBUG { int max_texture_size; @@ -1897,6 +1900,14 @@ gdk_gl_context_has_vertex_arrays (GdkGLContext *self) } } +gboolean +gdk_gl_context_has_image_storage (GdkGLContext *self) +{ + GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (self); + + return priv->has_image_storage; +} + /* This is currently private! */ /* When using GL/ES, don't flip the 'R' and 'B' bits on Windows/ANGLE for glReadPixels() */ gboolean diff --git a/gdk/gdkglcontextprivate.h b/gdk/gdkglcontextprivate.h index 5fcfd0aae2..d604422c97 100644 --- a/gdk/gdkglcontextprivate.h +++ b/gdk/gdkglcontextprivate.h @@ -161,6 +161,8 @@ gboolean gdk_gl_context_has_bgra (GdkGLContext gboolean gdk_gl_context_has_vertex_arrays (GdkGLContext *self) G_GNUC_PURE; +gboolean gdk_gl_context_has_image_storage (GdkGLContext *self) G_GNUC_PURE; + double gdk_gl_context_get_scale (GdkGLContext *self); G_END_DECLS