mesa: Branch 'master' - 2 commits
Brian Paul
brianp at kemper.freedesktop.org
Mon Apr 2 15:57:28 UTC 2007
src/mesa/main/fbobject.c | 14 ++------------
src/mesa/main/renderbuffer.c | 4 ++--
src/mesa/main/texrender.c | 2 +-
3 files changed, 5 insertions(+), 15 deletions(-)
New commits:
diff-tree dccd9c4f4d3eb4fd31002eb13e32ea78a5d0905c (from 3fe47d5c57dfe20a3336df3b9cb2e37f866fe603)
Author: Brian <brian at yutani.localnet.net>
Date: Mon Apr 2 09:56:28 2007 -0600
use _mesa_reference_renderbuffer() in a few more places
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index fefa14e..58bcc24 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -165,11 +165,7 @@ _mesa_remove_attachment(GLcontext *ctx,
if (att->Type == GL_TEXTURE || att->Type == GL_RENDERBUFFER_EXT) {
ASSERT(att->Renderbuffer);
ASSERT(!att->Texture);
- att->Renderbuffer->RefCount--;
- if (att->Renderbuffer->RefCount == 0) {
- att->Renderbuffer->Delete(att->Renderbuffer);
- }
- att->Renderbuffer = NULL;
+ _mesa_reference_renderbuffer(&att->Renderbuffer, NULL);
}
att->Type = GL_NONE;
att->Complete = GL_TRUE;
@@ -228,10 +224,9 @@ _mesa_set_renderbuffer_attachment(GLcont
/* XXX check if re-doing same attachment, exit early */
_mesa_remove_attachment(ctx, att);
att->Type = GL_RENDERBUFFER_EXT;
- att->Renderbuffer = rb;
att->Texture = NULL; /* just to be safe */
att->Complete = GL_FALSE;
- rb->RefCount++;
+ _mesa_reference_renderbuffer(&att->Renderbuffer, rb);
}
@@ -246,12 +241,9 @@ _mesa_framebuffer_renderbuffer(GLcontext
struct gl_renderbuffer_attachment *att;
_glthread_LOCK_MUTEX(fb->Mutex);
- if (rb)
- _glthread_LOCK_MUTEX(rb->Mutex);
att = _mesa_get_attachment(ctx, fb, attachment);
ASSERT(att);
-
if (rb) {
_mesa_set_renderbuffer_attachment(ctx, att, rb);
}
@@ -259,8 +251,6 @@ _mesa_framebuffer_renderbuffer(GLcontext
_mesa_remove_attachment(ctx, att);
}
- if (rb)
- _glthread_UNLOCK_MUTEX(rb->Mutex);
_glthread_UNLOCK_MUTEX(fb->Mutex);
}
diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c
index 32e7b57..f738584 100644
--- a/src/mesa/main/texrender.c
+++ b/src/mesa/main/texrender.c
@@ -325,7 +325,7 @@ wrap_texture(GLcontext *ctx, struct gl_r
trb->Base.PutMonoValues = texture_put_mono_values;
/* update attachment point */
- att->Renderbuffer = &(trb->Base);
+ _mesa_reference_renderbuffer(&att->Renderbuffer, &(trb->Base));
}
diff-tree 3fe47d5c57dfe20a3336df3b9cb2e37f866fe603 (from 3fd88089c03f2dbe634ba2611955c6d0a6b2ccd5)
Author: Brian <brian at yutani.localnet.net>
Date: Mon Apr 2 09:55:55 2007 -0600
updated debug printf
diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index 49706b5..1145e91 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -2152,7 +2152,7 @@ _mesa_reference_renderbuffer(struct gl_r
_glthread_LOCK_MUTEX(oldRb->Mutex);
ASSERT(oldRb->RefCount > 0);
oldRb->RefCount--;
- /*printf("RB DECR %p to %d\n", (void*) oldRb, oldRb->RefCount);*/
+ /*printf("RB DECR %p (%d) to %d\n", (void*) oldRb, oldRb->Name, oldRb->RefCount);*/
deleteFlag = (oldRb->RefCount == 0);
_glthread_UNLOCK_MUTEX(oldRb->Mutex);
@@ -2167,7 +2167,7 @@ _mesa_reference_renderbuffer(struct gl_r
/* reference new renderbuffer */
_glthread_LOCK_MUTEX(rb->Mutex);
rb->RefCount++;
- /*printf("RB REF %p to %d\n", (void*)rb, rb->RefCount);*/
+ /*printf("RB INCR %p (%d) to %d\n", (void*) rb, rb->Name, rb->RefCount);*/
_glthread_UNLOCK_MUTEX(rb->Mutex);
*ptr = rb;
}
More information about the mesa-commit
mailing list