summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mapi/glapi/gen/gl_API.xml2
-rw-r--r--src/mesa/main/buffers.c16
-rw-r--r--src/mesa/main/buffers.h3
3 files changed, 20 insertions, 1 deletions
diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml
index 6f4d02d07d1..53b234b2f96 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -5267,7 +5267,7 @@
<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"/>
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index 2288e51f6ea..68500abf960 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -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)
{
diff --git a/src/mesa/main/buffers.h b/src/mesa/main/buffers.h
index e86da341d60..e11b74f16ff 100644
--- a/src/mesa/main/buffers.h
+++ b/src/mesa/main/buffers.h
@@ -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);