[Mesa-dev] [PATCH 2/4] mesa: drop APPLE_vertex_array_object support

Timothy Arceri tarceri at itsqueeze.com
Mon Apr 24 05:28:47 UTC 2017


Shared context support for VAOs was dropped in 0b2750620b65.

>From the ARB_vertex_array_object spec:

   "This extension differs from GL_APPLE_vertex_array_object
   in that client memory cannot be accessed through a
   non-zero vertex array object.  It also differs in that
   vertex array objects are explicitly not sharable between
   contexts."

Nobody should be using this extension over
ARB_vertex_array_object anymore so just drop it rather than
adding locking back just for VAOs created from these
functions.

For reference the Nvidia blob doesn't expose this extension.
---
 docs/relnotes/17.2.0.html                        |  2 +-
 src/mapi/glapi/gen/APPLE_vertex_array_object.xml | 27 ----------
 src/mapi/glapi/gen/Makefile.am                   |  1 -
 src/mapi/glapi/gen/gl_API.xml                    |  2 +-
 src/mapi/glapi/tests/check_table.cpp             |  2 -
 src/mesa/main/arrayobj.c                         | 63 ++++--------------------
 src/mesa/main/arrayobj.h                         |  6 +--
 src/mesa/main/attrib.c                           |  2 +-
 src/mesa/main/extensions_table.h                 |  1 -
 src/mesa/main/get_hash_params.py                 |  4 +-
 src/mesa/main/mtypes.h                           |  9 ++--
 src/mesa/main/tests/dispatch_sanity.cpp          |  2 -
 12 files changed, 20 insertions(+), 101 deletions(-)
 delete mode 100644 src/mapi/glapi/gen/APPLE_vertex_array_object.xml

diff --git a/docs/relnotes/17.2.0.html b/docs/relnotes/17.2.0.html
index c96b18a..426bb72 100644
--- a/docs/relnotes/17.2.0.html
+++ b/docs/relnotes/17.2.0.html
@@ -51,16 +51,16 @@ Note: some of the new features are only available with certain drivers.
 
 <h2>Bug fixes</h2>
 
 <ul>
 TBD
 </ul>
 
 <h2>Changes</h2>
 
 <ul>
-TBD
+<li>GL_APPLE_vertex_array_object support removed.</li>
 </ul>
 
 </div>
 </body>
 </html>
diff --git a/src/mapi/glapi/gen/APPLE_vertex_array_object.xml b/src/mapi/glapi/gen/APPLE_vertex_array_object.xml
deleted file mode 100644
index 7312f9b..0000000
--- a/src/mapi/glapi/gen/APPLE_vertex_array_object.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
-
-<OpenGLAPI>
-<category name="GL_APPLE_vertex_array_object" number="273">
-    <enum name="VERTEX_ARRAY_BINDING_APPLE"               value="0x85B5"/>
-
-    <function name="BindVertexArrayAPPLE" deprecated="3.1">
-        <param name="array" type="GLuint"/>
-    </function>
-
-    <function name="DeleteVertexArraysAPPLE" alias="DeleteVertexArrays">
-        <param name="n" type="GLsizei"/>
-	<param name="arrays" type="const GLuint *"/>
-    </function>
-
-    <function name="GenVertexArraysAPPLE" deprecated="3.1">
-        <param name="n" type="GLsizei"/>
-	<param name="arrays" type="GLuint *" count="n" output="true"/>
-    </function>
-
-    <function name="IsVertexArrayAPPLE" alias="IsVertexArray">
-        <param name="array" type="GLuint"/>
-	<return type="GLboolean"/>
-    </function>
-</category>
-</OpenGLAPI>
diff --git a/src/mapi/glapi/gen/Makefile.am b/src/mapi/glapi/gen/Makefile.am
index c793067..a7e82d6 100644
--- a/src/mapi/glapi/gen/Makefile.am
+++ b/src/mapi/glapi/gen/Makefile.am
@@ -182,21 +182,20 @@ API_XML = \
 	ARB_texture_view.xml \
 	ARB_uniform_buffer_object.xml \
 	ARB_vertex_array_object.xml \
 	ARB_vertex_attrib_64bit.xml \
 	ARB_vertex_attrib_binding.xml \
 	ARB_viewport_array.xml \
 	AMD_draw_buffers_blend.xml \
 	AMD_performance_monitor.xml \
 	ARB_vertex_type_2_10_10_10_rev.xml \
 	APPLE_object_purgeable.xml \
-	APPLE_vertex_array_object.xml \
 	EXT_draw_buffers2.xml \
 	EXT_framebuffer_object.xml \
 	EXT_gpu_shader4.xml \
 	EXT_packed_depth_stencil.xml \
 	EXT_provoking_vertex.xml \
 	EXT_separate_shader_objects.xml \
 	EXT_texture_array.xml \
 	EXT_texture_integer.xml \
 	EXT_transform_feedback.xml \
 	EXT_window_rectangles.xml \
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 522d2e5..d19cfd2 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -12512,21 +12512,21 @@
         <size name="Get" mode="get"/>
     </enum>
 
     <function name="ActiveStencilFaceEXT" deprecated="3.1">
         <param name="face" type="GLenum"/>
         <glx rop="4220"/>
     </function>
 </category>
 
 <xi:include href="APPLE_object_purgeable.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-<xi:include href="APPLE_vertex_array_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+<!-- Extension number 273 obsolete APPLE_vertex_array_object. -->
 
 <category name="GL_APPLE_ycbcr_422" number="275">
     <enum name="YCBCR_422_APPLE"                          value="0x85B9"/>
     <enum name="UNSIGNED_SHORT_8_8_APPLE"                 value="0x85BA"/>
     <enum name="UNSIGNED_SHORT_8_8_REV_APPLE"             value="0x85BB"/>
 </category>
 
 <category name="GL_S3_s3tc" number="276">
     <enum name="RGB_S3TC"                                 value="0x83A0"/>
     <enum name="RGB4_S3TC"                                value="0x83A1"/>
diff --git a/src/mapi/glapi/tests/check_table.cpp b/src/mapi/glapi/tests/check_table.cpp
index 09bf4f3..a1041bce 100644
--- a/src/mapi/glapi/tests/check_table.cpp
+++ b/src/mapi/glapi/tests/check_table.cpp
@@ -1397,23 +1397,21 @@ const struct name_offset known_dispatch[] = {
    { "glColorFragmentOp3ATI", _O(ColorFragmentOp3ATI) },
    { "glDeleteFragmentShaderATI", _O(DeleteFragmentShaderATI) },
    { "glEndFragmentShaderATI", _O(EndFragmentShaderATI) },
    { "glGenFragmentShadersATI", _O(GenFragmentShadersATI) },
    { "glPassTexCoordATI", _O(PassTexCoordATI) },
    { "glSampleMapATI", _O(SampleMapATI) },
    { "glSetFragmentShaderConstantATI", _O(SetFragmentShaderConstantATI) },
    { "glPointParameteri", _O(PointParameteri) },
    { "glPointParameteriv", _O(PointParameteriv) },
    { "glActiveStencilFaceEXT", _O(ActiveStencilFaceEXT) },
-   { "glBindVertexArrayAPPLE", _O(BindVertexArrayAPPLE) },
    { "glDeleteVertexArrays", _O(DeleteVertexArrays) },
-   { "glGenVertexArraysAPPLE", _O(GenVertexArraysAPPLE) },
    { "glIsVertexArray", _O(IsVertexArray) },
    { "glGetProgramNamedParameterdvNV", _O(GetProgramNamedParameterdvNV) },
    { "glGetProgramNamedParameterfvNV", _O(GetProgramNamedParameterfvNV) },
    { "glProgramNamedParameter4dNV", _O(ProgramNamedParameter4dNV) },
    { "glProgramNamedParameter4dvNV", _O(ProgramNamedParameter4dvNV) },
    { "glProgramNamedParameter4fNV", _O(ProgramNamedParameter4fNV) },
    { "glProgramNamedParameter4fvNV", _O(ProgramNamedParameter4fvNV) },
    { "glPrimitiveRestartIndex", _O(PrimitiveRestartIndex) },
    { "glPrimitiveRestartNV", _O(PrimitiveRestartNV) },
    { "glDepthBoundsEXT", _O(DepthBoundsEXT) },
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index b901a89..1050201 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -21,23 +21,22 @@
  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
 /**
  * \file arrayobj.c
  *
- * Implementation of Vertex Array Objects (VAOs), from OpenGL 3.1+,
- * the GL_ARB_vertex_array_object extension, or the older
- * GL_APPLE_vertex_array_object extension.
+ * Implementation of Vertex Array Objects (VAOs), from OpenGL 3.1+ /
+ * the GL_ARB_vertex_array_object extension.
  *
  * \todo
  * The code in this file borrows a lot from bufferobj.c.  There's a certain
  * amount of cruft left over from that origin that may be unnecessary.
  *
  * \author Ian Romanick <idr at us.ibm.com>
  * \author Brian Paul
  */
 
 
@@ -411,26 +410,26 @@ _mesa_all_buffers_are_unmapped(const struct gl_vertex_array_object *vao)
 
    return true;
 }
 
 /**********************************************************************/
 /* API Functions                                                      */
 /**********************************************************************/
 
 
 /**
- * Helper for _mesa_BindVertexArray() and _mesa_BindVertexArrayAPPLE().
+ * Helper for _mesa_BindVertexArray().
  * \param genRequired  specifies behavour when id was not generated with
  *                     glGenVertexArrays().
  */
 static void
-bind_vertex_array(struct gl_context *ctx, GLuint id, GLboolean genRequired)
+bind_vertex_array(struct gl_context *ctx, GLuint id)
 {
    struct gl_vertex_array_object * const oldObj = ctx->Array.VAO;
    struct gl_vertex_array_object *newObj = NULL;
 
    assert(oldObj != NULL);
 
    if ( oldObj->Name == id )
       return;   /* rebinding the same array object- no change */
 
    /*
@@ -439,44 +438,33 @@ bind_vertex_array(struct gl_context *ctx, GLuint id, GLboolean genRequired)
    if (id == 0) {
       /* The spec says there is no array object named 0, but we use
        * one internally because it simplifies things.
        */
       newObj = ctx->Array.DefaultVAO;
    }
    else {
       /* non-default array object */
       newObj = _mesa_lookup_vao(ctx, id);
       if (!newObj) {
-         if (genRequired) {
-            _mesa_error(ctx, GL_INVALID_OPERATION,
-                        "glBindVertexArray(non-gen name)");
-            return;
-         }
-
-         /* For APPLE version, generate a new array object now */
-	 newObj = _mesa_new_vao(ctx, id);
-         if (!newObj) {
-            _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBindVertexArrayAPPLE");
-            return;
-         }
-
-         save_array_object(ctx, newObj);
+         _mesa_error(ctx, GL_INVALID_OPERATION,
+                     "glBindVertexArray(non-gen name)");
+         return;
       }
 
       if (!newObj->EverBound) {
          /* The "Interactions with APPLE_vertex_array_object" section of the
           * GL_ARB_vertex_array_object spec says:
           *
           *     "The first bind call, either BindVertexArray or
           *     BindVertexArrayAPPLE, determines the semantic of the object."
           */
-         newObj->ARBsemantics = genRequired;
+         newObj->ARBsemantics = GL_TRUE;
          newObj->EverBound = GL_TRUE;
       }
    }
 
    if (ctx->Array.DrawMethod == DRAW_ARRAYS) {
       /* The _DrawArrays pointer is pointing at the VAO being unbound and
        * that VAO may be in the process of being deleted. If it's not going
        * to be deleted, this will have no effect, because the pointer needs
        * to be updated by the VBO module anyway.
        *
@@ -489,45 +477,26 @@ bind_vertex_array(struct gl_context *ctx, GLuint id, GLboolean genRequired)
       ctx->Array.DrawMethod = DRAW_NONE;
    }
 
    ctx->NewState |= _NEW_ARRAY;
    _mesa_reference_vao(ctx, &ctx->Array.VAO, newObj);
 }
 
 
 /**
  * ARB version of glBindVertexArray()
- * This function behaves differently from glBindVertexArrayAPPLE() in
- * that this function requires all ids to have been previously generated
- * by glGenVertexArrays[APPLE]().
  */
 void GLAPIENTRY
 _mesa_BindVertexArray( GLuint id )
 {
    GET_CURRENT_CONTEXT(ctx);
-   bind_vertex_array(ctx, id, GL_TRUE);
-}
-
-
-/**
- * Bind a new array.
- *
- * \todo
- * The binding could be done more efficiently by comparing the non-NULL
- * pointers in the old and new objects.  The only arrays that are "dirty" are
- * the ones that are non-NULL in either object.
- */
-void GLAPIENTRY
-_mesa_BindVertexArrayAPPLE( GLuint id )
-{
-   GET_CURRENT_CONTEXT(ctx);
-   bind_vertex_array(ctx, id, GL_FALSE);
+   bind_vertex_array(ctx, id);
 }
 
 
 /**
  * Delete a set of array objects.
  *
  * \param n      Number of array objects to delete.
  * \param ids    Array of \c n array object IDs.
  */
 void GLAPIENTRY
@@ -565,21 +534,21 @@ _mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids)
           * If refcount hits zero, the object will be deleted.
           */
          _mesa_reference_vao(ctx, &obj, NULL);
       }
    }
 }
 
 
 /**
  * Generate a set of unique array object IDs and store them in \c arrays.
- * Helper for _mesa_GenVertexArrays[APPLE]() and _mesa_CreateVertexArrays()
+ * Helper for _mesa_GenVertexArrays() and _mesa_CreateVertexArrays()
  * below.
  *
  * \param n       Number of IDs to generate.
  * \param arrays  Array of \c n locations to store the IDs.
  * \param create  Indicates that the objects should also be created.
  * \param func    The name of the GL entry point.
  */
 static void
 gen_vertex_arrays(struct gl_context *ctx, GLsizei n, GLuint *arrays,
                   bool create, const char *func)
@@ -624,32 +593,20 @@ gen_vertex_arrays(struct gl_context *ctx, GLsizei n, GLuint *arrays,
  */
 void GLAPIENTRY
 _mesa_GenVertexArrays(GLsizei n, GLuint *arrays)
 {
    GET_CURRENT_CONTEXT(ctx);
    gen_vertex_arrays(ctx, n, arrays, false, "glGenVertexArrays");
 }
 
 
 /**
- * APPLE version of glGenVertexArraysAPPLE()
- * Arrays may live in VBOs or ordinary memory.
- */
-void GLAPIENTRY
-_mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *arrays)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   gen_vertex_arrays(ctx, n, arrays, false, "glGenVertexArraysAPPLE");
-}
-
-
-/**
  * ARB_direct_state_access
  * Generates ID's and creates the array objects.
  */
 void GLAPIENTRY
 _mesa_CreateVertexArrays(GLsizei n, GLuint *arrays)
 {
    GET_CURRENT_CONTEXT(ctx);
    gen_vertex_arrays(ctx, n, arrays, true, "glCreateVertexArrays");
 }
 
diff --git a/src/mesa/main/arrayobj.h b/src/mesa/main/arrayobj.h
index 830502e..1794968 100644
--- a/src/mesa/main/arrayobj.h
+++ b/src/mesa/main/arrayobj.h
@@ -28,21 +28,21 @@
 #define ARRAYOBJ_H
 
 #include "glheader.h"
 #include "mtypes.h"
 #include "glformats.h"
 
 struct gl_context;
 
 /**
  * \file arrayobj.h
- * Functions for the GL_APPLE_vertex_array_object extension.
+ * Functions for the GL_ARB_vertex_array_object extension.
  *
  * \author Ian Romanick <idr at us.ibm.com>
  * \author Brian Paul
  */
 
 /*
  * Internal functions
  */
 
 extern struct gl_vertex_array_object *
@@ -89,27 +89,23 @@ _mesa_all_varyings_in_vbos(const struct gl_vertex_array_object *vao);
 extern bool
 _mesa_all_buffers_are_unmapped(const struct gl_vertex_array_object *vao);
 
 /*
  * API functions
  */
 
 
 void GLAPIENTRY _mesa_BindVertexArray( GLuint id );
 
-void GLAPIENTRY _mesa_BindVertexArrayAPPLE( GLuint id );
-
 void GLAPIENTRY _mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids);
 
 void GLAPIENTRY _mesa_GenVertexArrays(GLsizei n, GLuint *arrays);
 
-void GLAPIENTRY _mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *buffer);
-
 void GLAPIENTRY _mesa_CreateVertexArrays(GLsizei n, GLuint *arrays);
 
 GLboolean GLAPIENTRY _mesa_IsVertexArray( GLuint id );
 
 void GLAPIENTRY _mesa_VertexArrayElementBuffer(GLuint vaobj, GLuint buffer);
 
 void GLAPIENTRY _mesa_GetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param);
 
 #endif /* ARRAYOBJ_H */
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 8e738c9..87d3276 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -1568,21 +1568,21 @@ restore_array_attrib(struct gl_context *ctx,
     *
     * The semantics of objects created using APPLE_vertex_array_objects behave
     * differently.  These objects expect to be recreated by pop.  Alas.
     */
    const bool arb_vao = (src->VAO->Name != 0
 			 && src->VAO->ARBsemantics);
 
    if (arb_vao && !_mesa_IsVertexArray(src->VAO->Name))
       return;
 
-   _mesa_BindVertexArrayAPPLE(src->VAO->Name);
+   _mesa_BindVertexArray(src->VAO->Name);
 
    /* Restore or recreate the buffer objects by the names ... */
    if (!arb_vao
        || src->ArrayBufferObj->Name == 0
        || _mesa_IsBuffer(src->ArrayBufferObj->Name)) {
       /* ... and restore its content */
       copy_array_attrib(ctx, dest, src, false);
 
       _mesa_BindBuffer(GL_ARRAY_BUFFER_ARB,
 			  src->ArrayBufferObj->Name);
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index dc735c5..528f730 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -19,21 +19,20 @@ EXT(AMD_vertex_shader_layer                 , AMD_vertex_shader_layer
 EXT(AMD_vertex_shader_viewport_index        , AMD_vertex_shader_viewport_index       ,  x , GLC,  x ,  x , 2012)
 
 EXT(ANDROID_extension_pack_es31a            , ANDROID_extension_pack_es31a           ,  x ,  x ,  x ,  31, 2014)
 
 EXT(ANGLE_texture_compression_dxt3          , ANGLE_texture_compression_dxt          , GLL, GLC, ES1, ES2, 2011)
 EXT(ANGLE_texture_compression_dxt5          , ANGLE_texture_compression_dxt          , GLL, GLC, ES1, ES2, 2011)
 
 EXT(APPLE_object_purgeable                  , APPLE_object_purgeable                 , GLL, GLC,  x ,  x , 2006)
 EXT(APPLE_packed_pixels                     , dummy_true                             , GLL,  x ,  x ,  x , 2002)
 EXT(APPLE_texture_max_level                 , dummy_true                             ,  x ,  x , ES1, ES2, 2009)
-EXT(APPLE_vertex_array_object               , dummy_true                             , GLL,  x ,  x ,  x , 2002)
 
 EXT(ARB_ES2_compatibility                   , ARB_ES2_compatibility                  , GLL, GLC,  x ,  x , 2009)
 EXT(ARB_ES3_1_compatibility                 , ARB_ES3_1_compatibility                ,  x , GLC,  x ,  x , 2014)
 EXT(ARB_ES3_2_compatibility                 , ARB_ES3_2_compatibility                ,  x , GLC,  x ,  x , 2015)
 EXT(ARB_ES3_compatibility                   , ARB_ES3_compatibility                  , GLL, GLC,  x ,  x , 2012)
 EXT(ARB_arrays_of_arrays                    , ARB_arrays_of_arrays                   , GLL, GLC,  x ,  x , 2012)
 EXT(ARB_base_instance                       , ARB_base_instance                      , GLL, GLC,  x ,  x , 2011)
 EXT(ARB_blend_func_extended                 , ARB_blend_func_extended                , GLL, GLC,  x ,  x , 2009)
 EXT(ARB_buffer_storage                      , ARB_buffer_storage                     , GLL, GLC,  x ,  x , 2013)
 EXT(ARB_clear_buffer_object                 , dummy_true                             , GLL, GLC,  x ,  x , 2012)
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index f6ffb4c..58d428d 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -112,22 +112,22 @@ descriptor=[
 
 # GL_EXT_framebuffer_object
   [ "FRAMEBUFFER_BINDING_EXT", "BUFFER_INT(Name), NO_EXTRA" ],
   [ "RENDERBUFFER_BINDING_EXT", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
   [ "MAX_RENDERBUFFER_SIZE_EXT", "CONTEXT_INT(Const.MaxRenderbufferSize), NO_EXTRA" ],
 
 # This entry isn't spec'ed for GLES 2, but is needed for Mesa's
 # GLSL:
   [ "MAX_CLIP_PLANES", "CONTEXT_INT(Const.MaxClipPlanes), NO_EXTRA" ],
 
-# GL_{APPLE,ARB,OES}_vertex_array_object
-  [ "VERTEX_ARRAY_BINDING_APPLE", "ARRAY_INT(Name), NO_EXTRA" ],
+# GL_{ARB,OES}_vertex_array_object
+  [ "VERTEX_ARRAY_BINDING", "ARRAY_INT(Name), NO_EXTRA" ],
 
 # GL_EXT_texture_filter_anisotropic
   [ "MAX_TEXTURE_MAX_ANISOTROPY_EXT", "CONTEXT_FLOAT(Const.MaxTextureMaxAnisotropy), extra_EXT_texture_filter_anisotropic" ],
 
 # GL_KHR_debug (GL 4.3)/ GL_ARB_debug_output
   [ "DEBUG_OUTPUT", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ],
   [ "DEBUG_OUTPUT_SYNCHRONOUS", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ],
   [ "DEBUG_LOGGED_MESSAGES", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
   [ "DEBUG_NEXT_LOGGED_MESSAGE_LENGTH", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
   [ "MAX_DEBUG_LOGGED_MESSAGES", "CONST(MAX_DEBUG_LOGGED_MESSAGES), NO_EXTRA" ],
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index b3711ba..2e3a423 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1489,23 +1489,22 @@ struct gl_vertex_buffer_binding
 {
    GLintptr Offset;                    /**< User-specified offset */
    GLsizei Stride;                     /**< User-specified stride */
    GLuint InstanceDivisor;             /**< GL_ARB_instanced_arrays */
    struct gl_buffer_object *BufferObj; /**< GL_ARB_vertex_buffer_object */
    GLbitfield64 _BoundArrays;          /**< Arrays bound to this binding point */
 };
 
 
 /**
- * A representation of "Vertex Array Objects" (VAOs) from OpenGL 3.1+,
- * GL_ARB_vertex_array_object, or the original GL_APPLE_vertex_array_object
- * extension.
+ * A representation of "Vertex Array Objects" (VAOs) from OpenGL 3.1+ /
+ * the GL_ARB_vertex_array_object extension.
  */
 struct gl_vertex_array_object
 {
    /** Name of the VAO as received from glGenVertexArray. */
    GLuint Name;
 
    GLint RefCount;
 
    GLchar *Label;       /**< GL_KHR_debug */
 
@@ -1581,30 +1580,30 @@ typedef enum
    API_OPENGLES2,
    API_OPENGL_CORE,
    API_OPENGL_LAST = API_OPENGL_CORE
 } gl_api;
 
 /**
  * Vertex array state
  */
 struct gl_array_attrib
 {
-   /** Currently bound array object. See _mesa_BindVertexArrayAPPLE() */
+   /** Currently bound array object. */
    struct gl_vertex_array_object *VAO;
 
    /** The default vertex array object */
    struct gl_vertex_array_object *DefaultVAO;
 
    /** The last VAO accessed by a DSA function */
    struct gl_vertex_array_object *LastLookedUpVAO;
 
-   /** Array objects (GL_ARB/APPLE_vertex_array_object) */
+   /** Array objects (GL_ARB_vertex_array_object) */
    struct _mesa_HashTable *Objects;
 
    GLint ActiveTexture;		/**< Client Active Texture */
    GLuint LockFirst;            /**< GL_EXT_compiled_vertex_array */
    GLuint LockCount;            /**< GL_EXT_compiled_vertex_array */
 
    /**
     * \name Primitive restart controls
     *
     * Primitive restart is enabled if either \c PrimitiveRestart or
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index 12a9ee7..b33043e 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -962,22 +962,20 @@ const struct function common_desktop_functions_possible[] = {
    { "glBlendBarrierKHR", 20, -1 },
 
    /* GL_ARB_sparse_buffer */
    { "glBufferPageCommitmentARB", 43, -1 },
    { "glNamedBufferPageCommitmentARB", 43, -1 },
 
    { NULL, 0, -1 }
 };
 
 const struct function gl_compatibility_functions_possible[] = {
-   { "glBindVertexArrayAPPLE", 10, -1 },
-   { "glGenVertexArraysAPPLE", 10, -1 },
    { "glBindRenderbufferEXT", 10, -1 },
    { "glBindFramebufferEXT", 10, -1 },
    { "glNewList", 10, _gloffset_NewList },
    { "glEndList", 10, _gloffset_EndList },
    { "glCallList", 10, _gloffset_CallList },
    { "glCallLists", 10, _gloffset_CallLists },
    { "glDeleteLists", 10, _gloffset_DeleteLists },
    { "glGenLists", 10, _gloffset_GenLists },
    { "glListBase", 10, _gloffset_ListBase },
    { "glBegin", 10, _gloffset_Begin },
-- 
2.9.3



More information about the mesa-dev mailing list