On 22/07/17 03:39, Samuel Pitoiset wrote:
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
  src/mesa/main/arrayobj.c | 24 ++++++++++++++++--------
  1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index 77c0206ecf..60a24663f7 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -466,17 +466,11 @@ _mesa_BindVertexArray(GLuint id)
   * \param n      Number of array objects to delete.
   * \param ids    Array of \c n array object IDs.
   */
-void GLAPIENTRY
-_mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids)
+static void
+delete_vertex_arrays(struct gl_context *ctx, GLsizei n, const GLuint *ids)
  {
-   GET_CURRENT_CONTEXT(ctx);
     GLsizei i;
- if (n < 0) {
-      _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteVertexArray(n)");
-      return;
-   }
-
     for (i = 0; i < n; i++) {
        struct gl_vertex_array_object *obj = _mesa_lookup_vao(ctx, ids[i]);

Inside this loop there is a call:

   _mesa_BindVertexArray(0);

Because the id is always 0 this can be replaced with:

   _mesa_BindVertexArray_no_error(0);

With a follow-up patch that makes this change, that patch and 27-37 are:

Reviewed-by: Timothy Arceri <tarc...@itsqueeze.com>



@@ -505,6 +499,20 @@ _mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids)
  }
+void GLAPIENTRY
+_mesa_DeleteVertexArrays(GLsizei n, const GLuint *ids)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (n < 0) {
+      _mesa_error(ctx, GL_INVALID_VALUE, "glDeleteVertexArray(n)");
+      return;
+   }
+
+   delete_vertex_arrays(ctx, n, ids);
+}
+
+
  /**
   * Generate a set of unique array object IDs and store them in \c arrays.
   * Helper for _mesa_GenVertexArrays() and _mesa_CreateVertexArrays()

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to