diff options
author | Benjamin Otte <otte@redhat.com> | 2023-04-15 17:50:18 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-04-21 09:21:10 +0200 |
commit | 8b8f493bbab756151b2936ad5eb4ee2b7839cd02 (patch) | |
tree | 5db891be65e8c0e2a5ca3c1ef4dbbc54a317703a | |
parent | 2634e2b74bd0465d6649b5a8c29cb6ba65c1b347 (diff) | |
download | gtk+-8b8f493bbab756151b2936ad5eb4ee2b7839cd02.tar.gz |
gles: Don't use vertex array objects
They're not needed and GLES doesn't technically support them, even
though GTK had been using them via epoxy sneakily using the
GL_OES_vertex_array_object extension behind our back.
-rw-r--r-- | gsk/gl/gskglcommandqueue.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gsk/gl/gskglcommandqueue.c b/gsk/gl/gskglcommandqueue.c index 8fee49fd15..a8624642f0 100644 --- a/gsk/gl/gskglcommandqueue.c +++ b/gsk/gl/gskglcommandqueue.c @@ -1002,8 +1002,11 @@ gsk_gl_command_queue_execute (GskGLCommandQueue *self, glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glBlendEquation (GL_FUNC_ADD); - glGenVertexArrays (1, &vao_id); - glBindVertexArray (vao_id); + if (!gdk_gl_context_get_use_es (self->context)) + { + glGenVertexArrays (1, &vao_id); + glBindVertexArray (vao_id); + } vbo_id = gsk_gl_buffer_submit (&self->vertices); @@ -1159,7 +1162,8 @@ gsk_gl_command_queue_execute (GskGLCommandQueue *self, } glDeleteBuffers (1, &vbo_id); - glDeleteVertexArrays (1, &vao_id); + if (!gdk_gl_context_get_use_es (self->context)) + glDeleteVertexArrays (1, &vao_id); gdk_profiler_set_int_counter (self->metrics.n_binds, n_binds); gdk_profiler_set_int_counter (self->metrics.n_uniforms, n_uniforms); |