mesa/es3.1 : Align OpenGL ES 3.1 glBindVertexBuffer error handling with OpenGL Core
authorMarta Lofstedt <marta.lofstedt@intel.com>
Wed, 19 Aug 2015 18:25:22 +0000 (20:25 +0200)
committerMarta Lofstedt <marta.lofstedt@linux.intel.com>
Tue, 22 Sep 2015 10:21:59 +0000 (12:21 +0200)
According to OpenGL ES 3.1 specification 10.3.1:
"An INVALID_OPERATION error is generated if buffer is not zero
or a name returned from a previous call to GenBuffers,
or if such a name has since been deleted with DeleteBuffers."
This error check was previously limited to OpenGL Core.

Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com>
src/mesa/main/bufferobj.c

index 3b87654c5d2023780cc4a50b8c80ecf1f4682f3d..23da83e8b80f35a1a1a314bc5ecbe7bfccff12a8 100644 (file)
@@ -916,7 +916,7 @@ _mesa_handle_bind_buffer_gen(struct gl_context *ctx,
 {
    struct gl_buffer_object *buf = *buf_handle;
 
-   if (!buf && ctx->API == API_OPENGL_CORE) {
+   if (!buf && (ctx->API == API_OPENGL_CORE || _mesa_is_gles31(ctx))) {
       _mesa_error(ctx, GL_INVALID_OPERATION, "%s(non-gen name)", caller);
       return false;
    }