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>
This commit is contained in:
Brian Paul
2012-11-30 10:04:48 -07:00
parent ca3ed3e024
commit c73245882c
15 changed files with 29 additions and 24 deletions

View File

@@ -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;