On 05/02/2012 11:05 AM, nobled wrote:
---
  src/mesa/drivers/dri/swrast/swrast.c |    6 ++++++
  1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/swrast/swrast.c
b/src/mesa/drivers/dri/swrast/swrast.c
index 22d71bf..70bbcb8 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -84,6 +84,12 @@ static void swrastSetTexBuffer2(__DRIcontext
*pDRICtx, GLint target,

      _mesa_lock_texture(&dri_ctx->Base, texObj);

+    if (texObj->Immutable) {
+        driWarnImmutableTexture(&dri_ctx->Base, texObj->Name);
+        _mesa_unlock_texture(&dri_ctx->Base, texObj);
+        return;
+    }
+
      sPriv->swrast_loader->getDrawableInfo(dPriv,&x,&y,&w,&h,
dPriv->loaderPrivate);

      if (texture_format == __DRI_TEXTURE_FORMAT_RGB)

In these patches I think we could get away with checking if texObj->Immutable before calling _mesa_lock_texture(). Then you wouldn't need the _mesa_unlock_texture() call on the error path.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to