diff --git a/src/mapi/glapi/gen/ARB_framebuffer_object.xml b/src/mapi/glapi/gen/ARB_framebuffer_object.xml
index 7cacf14a8a5..c7a117dcd02 100644
--- a/src/mapi/glapi/gen/ARB_framebuffer_object.xml
+++ b/src/mapi/glapi/gen/ARB_framebuffer_object.xml
@@ -209,7 +209,8 @@
-
+
diff --git a/src/mesa/main/glthread_marshal.h b/src/mesa/main/glthread_marshal.h
index 80022c1cea6..5268ae2a472 100644
--- a/src/mesa/main/glthread_marshal.h
+++ b/src/mesa/main/glthread_marshal.h
@@ -779,6 +779,20 @@ _mesa_glthread_DeleteLists(struct gl_context *ctx, GLsizei range)
_mesa_glthread_flush_batch(ctx);
}
+static inline void
+_mesa_glthread_DeleteFramebuffers(struct gl_context *ctx, GLsizei n,
+ const GLuint *ids)
+{
+ if (ctx->GLThread.CurrentDrawFramebuffer) {
+ for (int i = 0; i < n; i++) {
+ if (ctx->GLThread.CurrentDrawFramebuffer == ids[i]) {
+ ctx->GLThread.CurrentDrawFramebuffer = 0;
+ break;
+ }
+ }
+ }
+}
+
struct marshal_cmd_CallList
{
struct marshal_cmd_base cmd_base;