Browse Source

intel: Drop some extra equality checks on reference/release functions.

_mesa_reference_renderbuffer already short-circuits equality, and
intel_miptree_release does nothing on NULL.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
tags/mesa-8.0-rc1
Eric Anholt 14 years ago
parent
commit
19cfe1e035
2 changed files with 8 additions and 22 deletions
  1. 4
    9
      src/mesa/drivers/dri/intel/intel_fbo.c
  2. 4
    13
      src/mesa/drivers/dri/intel/intel_tex.c

+ 4
- 9
src/mesa/drivers/dri/intel/intel_fbo.c View File

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

+ 4
- 13
src/mesa/drivers/dri/intel/intel_tex.c View File

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

/**

Loading…
Cancel
Save