[Mesa-dev] [PATCH 02/11] intel: Drop some extra equality checks on reference/release functions.

Eric Anholt eric at anholt.net
Thu Sep 22 12:34:14 PDT 2011


_mesa_reference_renderbuffer already short-circuits equality, and
intel_miptree_release does nothing on NULL.
---
 src/mesa/drivers/dri/intel/intel_fbo.c |   13 ++++---------
 src/mesa/drivers/dri/intel/intel_tex.c |   17 ++++-------------
 2 files changed, 8 insertions(+), 22 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c
index 418e426..315108e 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.c
+++ b/src/mesa/drivers/dri/intel/intel_fbo.c
@@ -518,17 +518,12 @@ intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb,
 
       /* The tex image shares its embedded depth and stencil renderbuffers with
        * the renderbuffer wrapper. */
-      if (irb->wrapped_depth != intel_image->depth_rb) {
-	 _mesa_reference_renderbuffer(&irb->wrapped_depth,
-				      intel_image->depth_rb);
-      }
-      if (irb->wrapped_stencil != intel_image->stencil_rb) {
-	 _mesa_reference_renderbuffer(&irb->wrapped_stencil,
-				      intel_image->stencil_rb);
-      }
+      _mesa_reference_renderbuffer(&irb->wrapped_depth,
+				   intel_image->depth_rb);
+      _mesa_reference_renderbuffer(&irb->wrapped_stencil,
+				   intel_image->stencil_rb);
 
       return true;
-
    } else {
       return intel_update_tex_wrapper_regions(intel, irb, intel_image);
    }
diff --git a/src/mesa/drivers/dri/intel/intel_tex.c b/src/mesa/drivers/dri/intel/intel_tex.c
index f8c3f77..3ce5b90 100644
--- a/src/mesa/drivers/dri/intel/intel_tex.c
+++ b/src/mesa/drivers/dri/intel/intel_tex.c
@@ -46,9 +46,7 @@ intelDeleteTextureObject(struct gl_context *ctx,
    struct intel_context *intel = intel_context(ctx);
    struct intel_texture_object *intelObj = intel_texture_object(texObj);
 
-   if (intelObj->mt)
-      intel_miptree_release(intel, &intelObj->mt);
-
+   intel_miptree_release(intel, &intelObj->mt);
    _mesa_delete_texture_object(ctx, texObj);
 }
 
@@ -62,22 +60,15 @@ intel_free_texture_image_buffer(struct gl_context * ctx,
 
    DBG("%s\n", __FUNCTION__);
 
-   if (intelImage->mt) {
-      intel_miptree_release(intel, &intelImage->mt);
-   }
+   intel_miptree_release(intel, &intelImage->mt);
 
    if (texImage->Data) {
       _mesa_free_texmemory(texImage->Data);
       texImage->Data = NULL;
    }
 
-   if (intelImage->depth_rb) {
-      _mesa_reference_renderbuffer(&intelImage->depth_rb, NULL);
-   }
-
-   if (intelImage->stencil_rb) {
-      _mesa_reference_renderbuffer(&intelImage->stencil_rb, NULL);
-   }
+   _mesa_reference_renderbuffer(&intelImage->depth_rb, NULL);
+   _mesa_reference_renderbuffer(&intelImage->stencil_rb, NULL);
 }
 
 /**
-- 
1.7.5.4



More information about the mesa-dev mailing list