summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/renderbuffer.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2012-11-30 10:04:48 -0700
committerBrian Paul <brianp@vmware.com>2012-11-30 12:08:06 -0700
commitc73245882c7ff1277b190b97f093f7b423a22f10 (patch)
treecc42fc6cc7cd175407d511e845f75c49383936fc /src/mesa/main/renderbuffer.c
parentca3ed3e024864e91ca3cccc59fb96950e1d079b5 (diff)
downloadexternal_mesa3d-c73245882c7ff1277b190b97f093f7b423a22f10.zip
external_mesa3d-c73245882c7ff1277b190b97f093f7b423a22f10.tar.gz
external_mesa3d-c73245882c7ff1277b190b97f093f7b423a22f10.tar.bz2
mesa: pass context parameter to gl_renderbuffer::Delete()
We sometimes need a rendering context when deleting renderbuffers. Pass it explicitly instead of trying to grab a current context (which might be NULL). The next patch will make use of this. Note: this is a candidate for the stable branches. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Diffstat (limited to 'src/mesa/main/renderbuffer.c')
-rw-r--r--src/mesa/main/renderbuffer.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index 26f53d1..2f28443 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -80,7 +80,7 @@ _mesa_new_renderbuffer(struct gl_context *ctx, GLuint name)
* free the object in the end.
*/
void
-_mesa_delete_renderbuffer(struct gl_renderbuffer *rb)
+_mesa_delete_renderbuffer(struct gl_context *ctx, struct gl_renderbuffer *rb)
{
_glthread_DESTROY_MUTEX(rb->Mutex);
free(rb);
@@ -159,7 +159,11 @@ _mesa_reference_renderbuffer_(struct gl_renderbuffer **ptr,
_glthread_UNLOCK_MUTEX(oldRb->Mutex);
if (deleteFlag) {
- oldRb->Delete(oldRb);
+ GET_CURRENT_CONTEXT(ctx);
+ if (ctx)
+ oldRb->Delete(ctx, oldRb);
+ else
+ _mesa_problem(NULL, "Unable to delete renderbuffer, no context");
}
*ptr = NULL;