mesa: add KHR_no_error support to glDrawBuffers()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 19 Jul 2017 11:46:25 +0000 (13:46 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 31 Jul 2017 11:53:40 +0000 (13:53 +0200)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mapi/glapi/gen/gl_API.xml
src/mesa/main/buffers.c
src/mesa/main/buffers.h

index 6f4d02d07d15ff87693245b99b0f601e893740e6..53b234b2f9636da75ea63f41232f91b586f8c8c7 100644 (file)
         <glx rop="4228"/>
     </function>
 
-    <function name="DrawBuffers" es2="3.0">
+    <function name="DrawBuffers" es2="3.0" no_error="true">
         <param name="n" type="GLsizei" counter="true"/>
         <param name="bufs" type="const GLenum *" count="n"/>
         <glx rop="233" large="true"/>
index 2288e51f6ea47e8b729f4d136ce813b825789bab..68500abf960d15c7c03146fb4848e99e59cabd35 100644 (file)
@@ -598,6 +598,22 @@ draw_buffers_error(struct gl_context *ctx, struct gl_framebuffer *fb, GLsizei n,
 }
 
 
+static void
+draw_buffers_no_error(struct gl_context *ctx, struct gl_framebuffer *fb,
+                      GLsizei n, const GLenum *buffers, const char *caller)
+{
+   draw_buffers(ctx, fb, n, buffers, caller, true);
+}
+
+
+void GLAPIENTRY
+_mesa_DrawBuffers_no_error(GLsizei n, const GLenum *buffers)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   draw_buffers_no_error(ctx, ctx->DrawBuffer, n, buffers, "glDrawBuffers");
+}
+
+
 void GLAPIENTRY
 _mesa_DrawBuffers(GLsizei n, const GLenum *buffers)
 {
index e86da341d609081fe8ba6a40678ffbd30578694d..e11b74f16ff014108a3085a928237b6d54e98fc6 100644 (file)
@@ -52,6 +52,9 @@ _mesa_NamedFramebufferDrawBuffer_no_error(GLuint framebuffer, GLenum buf);
 extern void GLAPIENTRY
 _mesa_NamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf);
 
+void GLAPIENTRY
+_mesa_DrawBuffers_no_error(GLsizei n, const GLenum *buffers);
+
 extern void GLAPIENTRY
 _mesa_DrawBuffers(GLsizei n, const GLenum *buffers);