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 95c448d2364..4d0211a33c7 100644
--- a/src/mapi/glapi/gen/gl_API.xml
+++ b/src/mapi/glapi/gen/gl_API.xml
@@ -2286,7 +2286,7 @@
<glx rop="125"/>
</function>
- <function name="DrawBuffer">
+ <function name="DrawBuffer" no_error="true">
<param name="mode" type="GLenum"/>
<glx rop="126"/>
</function>
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index a37b39cf525..02596b7f689 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -319,6 +319,22 @@ draw_buffer_error(struct gl_context *ctx, struct gl_framebuffer *fb,
}
+static void
+draw_buffer_no_error(struct gl_context *ctx, struct gl_framebuffer *fb,
+ GLenum buffer, const char *caller)
+{
+ draw_buffer(ctx, fb, buffer, caller, true);
+}
+
+
+void GLAPIENTRY
+_mesa_DrawBuffer_no_error(GLenum buffer)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ draw_buffer_no_error(ctx, ctx->DrawBuffer, buffer, "glDrawBuffer");
+}
+
+
void GLAPIENTRY
_mesa_DrawBuffer(GLenum buffer)
{
diff --git a/src/mesa/main/buffers.h b/src/mesa/main/buffers.h
index ba06138017e..630b0dce546 100644
--- a/src/mesa/main/buffers.h
+++ b/src/mesa/main/buffers.h
@@ -40,6 +40,9 @@ struct gl_context;
struct gl_framebuffer;
+void GLAPIENTRY
+_mesa_DrawBuffer_no_error(GLenum mode);
+
extern void GLAPIENTRY
_mesa_DrawBuffer( GLenum mode );