gl: GL_ARRAY_BUFFER is not a part of VAO state
authorMatthew Waters <matthew@centricular.com>
Tue, 14 Mar 2017 03:15:00 +0000 (14:15 +1100)
committerMatthew Waters <matthew@centricular.com>
Tue, 14 Mar 2017 03:15:00 +0000 (14:15 +1100)
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.

ext/gtk/gtkgstglwidget.c

index e3d08ab..e780ebd 100644 (file)
@@ -191,8 +191,7 @@ _redraw_texture (GtkGstGLWidget * gst_widget, guint tex)
 
   if (gl->BindVertexArray)
     gl->BindVertexArray (priv->vao);
-  else
-    gtk_gst_gl_widget_bind_buffer (gst_widget);
+  gtk_gst_gl_widget_bind_buffer (gst_widget);
 
   gl->ActiveTexture (GL_TEXTURE0);
   gl->BindTexture (GL_TEXTURE_2D, tex);
@@ -202,8 +201,7 @@ _redraw_texture (GtkGstGLWidget * gst_widget, guint tex)
 
   if (gl->BindVertexArray)
     gl->BindVertexArray (0);
-  else
-    gtk_gst_gl_widget_unbind_buffer (gst_widget);
+  gtk_gst_gl_widget_unbind_buffer (gst_widget);
 
   gl->BindTexture (GL_TEXTURE_2D, 0);
 }