From 36ceabfb745f27bc5754ee2a9766945d1dd59551 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 21 Aug 2012 18:03:49 -0700 Subject: [PATCH] mesa/es: Enable GL_OES_vertex_array_object Functionally the same as GL_ARB_vertex_array_object. Signed-off-by: Ian Romanick Reviewed-by: Eric Anholt --- src/mapi/glapi/gen/es_EXT.xml | 26 ++++++++++++++++++++++++++ src/mapi/glapi/gen/gles_api.py | 5 +++++ src/mesa/main/api_exec.c | 16 ++++++---------- src/mesa/main/extensions.c | 1 + src/mesa/main/get.c | 6 +++--- 5 files changed, 41 insertions(+), 13 deletions(-) diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml index d012ccd5bf3..fc2ec621e23 100644 --- a/src/mapi/glapi/gen/es_EXT.xml +++ b/src/mapi/glapi/gen/es_EXT.xml @@ -619,6 +619,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mapi/glapi/gen/gles_api.py b/src/mapi/glapi/gen/gles_api.py index 70ae2e300ea..8dfef655a8c 100644 --- a/src/mapi/glapi/gen/gles_api.py +++ b/src/mapi/glapi/gen/gles_api.py @@ -449,6 +449,11 @@ es2_api = es2_core + ( # GL_OES_get_program_binary 'GetProgramBinaryOES', 'ProgramBinaryOES', + # GL_OES_vertex_array_object + 'BindVertexArrayOES', + 'DeleteVertexArraysOES', + 'GenVertexArraysOES', + 'IsVertexArrayOES', # GL_NV_draw_buffers 'DrawBuffersNV', # GL_NV_read_buffer diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index 167a9428634..c4481894566 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -521,11 +521,9 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_BindVertexArrayAPPLE(exec, _mesa_BindVertexArrayAPPLE); SET_GenVertexArraysAPPLE(exec, _mesa_GenVertexArraysAPPLE); } - /* Reused by ARB_vertex_array_object */ - if (ctx->API != API_OPENGLES2) { - SET_DeleteVertexArraysAPPLE(exec, _mesa_DeleteVertexArraysAPPLE); - SET_IsVertexArrayAPPLE(exec, _mesa_IsVertexArrayAPPLE); - } + /* Reused by ARB_vertex_array_object / OES_vertex_array_object */ + SET_DeleteVertexArraysAPPLE(exec, _mesa_DeleteVertexArraysAPPLE); + SET_IsVertexArrayAPPLE(exec, _mesa_IsVertexArrayAPPLE); /* 282. GL_NV_fragment_program */ #if FEATURE_NV_fragment_program @@ -809,11 +807,9 @@ _mesa_create_exec_table(struct gl_context *ctx) SET_CopyBufferSubData(exec, _mesa_CopyBufferSubData); } - /* GL_ARB_vertex_array_object */ - if (ctx->API != API_OPENGLES2) { - SET_BindVertexArray(exec, _mesa_BindVertexArray); - SET_GenVertexArrays(exec, _mesa_GenVertexArrays); - } + /* GL_ARB_vertex_array_object / GL_OES_vertex_array_object */ + SET_BindVertexArray(exec, _mesa_BindVertexArray); + SET_GenVertexArrays(exec, _mesa_GenVertexArrays); /* GL_EXT_draw_buffers2 */ if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index e5659b31e86..7e116bdd1b1 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -266,6 +266,7 @@ static const struct extension extension_table[] = { { "GL_OES_texture_env_crossbar", o(ARB_texture_env_crossbar), ES1, 2005 }, { "GL_OES_texture_mirrored_repeat", o(dummy_true), ES1, 2005 }, { "GL_OES_texture_npot", o(ARB_texture_non_power_of_two), ES2, 2005 }, + { "GL_OES_vertex_array_object", o(dummy_true), ES1 | ES2, 2010 }, /* Vendor extensions */ { "GL_3DFX_texture_compression_FXT1", o(TDFX_texture_compression_FXT1), GL, 1999 }, diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 9672a92a5e3..fe1035be8ac 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -535,6 +535,9 @@ static const struct value_desc values[] = { * GLSL: */ { GL_MAX_CLIP_PLANES, CONTEXT_INT(Const.MaxClipPlanes), NO_EXTRA }, + /* GL_{APPLE,ARB,OES}_vertex_array_object */ + { GL_VERTEX_ARRAY_BINDING_APPLE, ARRAY_INT(Name), NO_EXTRA }, + #if FEATURE_GL || FEATURE_ES1 /* Enums in OpenGL and GLES1 */ { 0, 0, TYPE_API_MASK, API_OPENGL_BIT | API_OPENGLES_BIT | API_OPENGL_CORE_BIT, NO_EXTRA }, @@ -1212,9 +1215,6 @@ static const struct value_desc values[] = { { GL_MAX_SAMPLES, CONTEXT_INT(Const.MaxSamples), extra_ARB_framebuffer_object_EXT_framebuffer_multisample }, - /* GL_APPLE_vertex_array_object */ - { GL_VERTEX_ARRAY_BINDING_APPLE, ARRAY_INT(Name), NO_EXTRA }, - /* GL_ARB_seamless_cube_map */ { GL_TEXTURE_CUBE_MAP_SEAMLESS, CONTEXT_BOOL(Texture.CubeMapSeamless), extra_ARB_seamless_cube_map }, -- 2.30.2