Functionally the same as GL_ARB_vertex_array_object.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
<!-- 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"/>
# 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
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
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)) {
{ "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 },
* 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 },
{ 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 },