summaryrefslogtreecommitdiff
path: root/glamor
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2017-11-02 16:10:50 -0400
committerAdam Jackson <ajax@redhat.com>2017-11-15 09:53:50 -0500
commit66e8eaa456a0f200c0649c56a2e34914daa88065 (patch)
treed79e402061ccb7bbc0fe94fdedcd73e5420b233b /glamor
parentdbda03d5d15bec8fdff64bc8545875c39da81777 (diff)
glamor: Drop the non-VAO rendering path
GLES spells this extension as GL_OES_vertex_array_object, but it is functionally equivalent to the GL_ARB version. Mesa has supported both since 9.0, let's go ahead and require it. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'glamor')
-rw-r--r--glamor/glamor.c8
-rw-r--r--glamor/glamor_priv.h1
-rw-r--r--glamor/glamor_vbo.c13
3 files changed, 10 insertions, 12 deletions
diff --git a/glamor/glamor.c b/glamor/glamor.c
index 9fd110ed2..4a41fe783 100644
--- a/glamor/glamor.c
+++ b/glamor/glamor.c
@@ -579,6 +579,12 @@ glamor_init(ScreenPtr screen, unsigned int flags)
}
}
+ if (!epoxy_has_gl_extension("GL_ARB_vertex_array_object") &&
+ !epoxy_has_gl_extension("GL_OES_vertex_array_object")) {
+ ErrorF("GL_{ARB,OES}_vertex_array_object required\n");
+ goto fail;
+ }
+
glamor_priv->has_rw_pbo = FALSE;
if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP)
glamor_priv->has_rw_pbo = TRUE;
@@ -605,8 +611,6 @@ glamor_init(ScreenPtr screen, unsigned int flags)
glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP ||
epoxy_gl_version() >= 30 ||
epoxy_has_gl_extension("GL_NV_pack_subimage");
- glamor_priv->has_vertex_array_object =
- epoxy_has_gl_extension("GL_ARB_vertex_array_object");
glamor_priv->has_dual_blend =
epoxy_has_gl_extension("GL_ARB_blend_func_extended");
diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h
index ce50abd04..2344066cb 100644
--- a/glamor/glamor_priv.h
+++ b/glamor/glamor_priv.h
@@ -197,7 +197,6 @@ typedef struct glamor_screen_private {
Bool has_unpack_subimage;
Bool has_rw_pbo;
Bool use_quads;
- Bool has_vertex_array_object;
Bool has_dual_blend;
Bool has_texture_swizzle;
Bool is_core_profile;
diff --git a/glamor/glamor_vbo.c b/glamor/glamor_vbo.c
index 2799e1b63..734189fa2 100644
--- a/glamor/glamor_vbo.c
+++ b/glamor/glamor_vbo.c
@@ -174,11 +174,8 @@ glamor_init_vbo(ScreenPtr screen)
glamor_make_current(glamor_priv);
glGenBuffers(1, &glamor_priv->vbo);
- if (glamor_priv->has_vertex_array_object) {
- glGenVertexArrays(1, &glamor_priv->vao);
- glBindVertexArray(glamor_priv->vao);
- } else
- glamor_priv->vao = 0;
+ glGenVertexArrays(1, &glamor_priv->vao);
+ glBindVertexArray(glamor_priv->vao);
}
void
@@ -188,10 +185,8 @@ glamor_fini_vbo(ScreenPtr screen)
glamor_make_current(glamor_priv);
- if (glamor_priv->vao != 0) {
- glDeleteVertexArrays(1, &glamor_priv->vao);
- glamor_priv->vao = 0;
- }
+ glDeleteVertexArrays(1, &glamor_priv->vao);
+ glamor_priv->vao = 0;
if (!glamor_priv->has_map_buffer_range)
free(glamor_priv->vb);
}