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