summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2012-08-21 18:03:49 -0700
committerIan Romanick <[email protected]>2012-08-29 15:09:37 -0700
commit36ceabfb745f27bc5754ee2a9766945d1dd59551 (patch)
treec718c75da2d93fb12ec4bf8da4b0c19c67f862d0 /src
parent35cf6aeb8c26821e704db737b61cf2623b3e8f6b (diff)
mesa/es: Enable GL_OES_vertex_array_object
Functionally the same as GL_ARB_vertex_array_object. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mapi/glapi/gen/es_EXT.xml26
-rw-r--r--src/mapi/glapi/gen/gles_api.py5
-rw-r--r--src/mesa/main/api_exec.c16
-rw-r--r--src/mesa/main/extensions.c1
-rw-r--r--src/mesa/main/get.c6
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 @@
<!-- 69. GL_EXT_multi_draw_arrays -->
+<!-- 71. GL_OES_vertex_array_object -->
+<category name="GL_OES_vertex_array_object" number="71">
+ <function name="BindVertexArrayOES" alias="BindVertexArray">
+ <param name="array" type="GLuint"/>
+ </function>
+
+ <function name="DeleteVertexArraysOES" alias="DeleteVertexArraysAPPLE">
+ <param name="n" type="GLsizei"/>
+ <param name="arrays" type="const GLuint *" count="n"/>
+ </function>
+
+ <function name="GenVertexArraysOES" alias="GenVertexArrays">
+ <param name="n" type="GLsizei"/>
+ <param name="arrays" type="GLuint *" output="true" count="n"/>
+ </function>
+
+ <function name="IsVertexArrayOES" alias="IsVertexArrayAPPLE">
+ <param name="array" type="GLuint"/>
+ <return type="GLboolean"/>
+ </function>
+
+ <enum name="VERTEX_ARRAY_BINDING_OES" count="1" value="0x85B5">
+ <size name="Get" mode="get"/>
+ </enum>
+</category>
+
<!-- 87. GL_OES_EGL_image_external -->
<category name="GL_OES_EGL_image_external" number="87">
<enum name="TEXTURE_EXTERNAL_OES" value="0x8D65"/>
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 },