mesa: don't error check the default buffer object
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 26 Jul 2017 01:11:02 +0000 (11:11 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 8 Aug 2017 05:56:12 +0000 (15:56 +1000)
An allocation check is already done when the buffer is created at
context creation.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/mesa/main/bufferobj.c

index 625fd5f3423ccedf7bf19cec5acaa8ef380b7e12..cff1905e162d633f805e21a8de8247fe4cdeb3f0 100644 (file)
@@ -4274,6 +4274,12 @@ bind_buffer_range(GLenum target, GLuint index, GLuint buffer, GLintptr offset,
       if (!_mesa_handle_bind_buffer_gen(ctx, buffer,
                                         &bufObj, "glBindBufferRange"))
          return;
+
+      if (!no_error && !bufObj) {
+         _mesa_error(ctx, GL_INVALID_OPERATION,
+                     "glBindBufferRange(invalid buffer=%u)", buffer);
+         return;
+      }
    }
 
    if (no_error) {
@@ -4296,12 +4302,6 @@ bind_buffer_range(GLenum target, GLuint index, GLuint buffer, GLintptr offset,
          unreachable("invalid BindBufferRange target with KHR_no_error");
       }
    } else {
-      if (!bufObj) {
-         _mesa_error(ctx, GL_INVALID_OPERATION,
-                     "glBindBufferRange(invalid buffer=%u)", buffer);
-         return;
-      }
-
       if (buffer != 0) {
          if (size <= 0) {
             _mesa_error(ctx, GL_INVALID_VALUE, "glBindBufferRange(size=%d)",
@@ -4372,12 +4372,12 @@ _mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer)
       if (!_mesa_handle_bind_buffer_gen(ctx, buffer,
                                         &bufObj, "glBindBufferBase"))
          return;
-   }
 
-   if (!bufObj) {
-      _mesa_error(ctx, GL_INVALID_OPERATION,
-                  "glBindBufferBase(invalid buffer=%u)", buffer);
-      return;
+      if (!bufObj) {
+         _mesa_error(ctx, GL_INVALID_OPERATION,
+                     "glBindBufferBase(invalid buffer=%u)", buffer);
+         return;
+      }
    }
 
    /* Note that there's some oddness in the GL 3.1-GL 3.3 specifications with