Vertex arrays are available in GL and in GLES >= 3.
We don't check for the GLES extension that provided
vertex arrays in older GLES, since that requires
using different API.
This api avoids version checks all over the place.
return priv->has_sync;
}
+/* Return if GL_BGRA works with glTexImage2D */
gboolean
gdk_gl_context_has_bgra (GdkGLContext *self)
{
return priv->has_bgra;
}
+/* Return if glGenVertexArrays, glBindVertexArray and glDeleteVertexArrays
+ * can be used
+ */
+gboolean
+gdk_gl_context_has_vertex_arrays (GdkGLContext *self)
+{
+ GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (self);
+
+ switch (priv->api)
+ {
+ case GDK_GL_API_GL:
+ return TRUE;
+
+ case GDK_GL_API_GLES:
+ return gdk_gl_version_get_major (&priv->gl_version) >= 3;
+
+ default:
+ g_return_val_if_reached (FALSE);
+ }
+}
+
/* This is currently private! */
/* When using GL/ES, don't flip the 'R' and 'B' bits on Windows/ANGLE for glReadPixels() */
gboolean
gboolean gdk_gl_context_has_bgra (GdkGLContext *self) G_GNUC_PURE;
+gboolean gdk_gl_context_has_vertex_arrays (GdkGLContext *self) G_GNUC_PURE;
+
double gdk_gl_context_get_scale (GdkGLContext *self);
G_END_DECLS