intel: Fix locking when doing intel_region_cow().
authorEric Anholt <eric@anholt.net>
Thu, 26 Jun 2008 22:34:27 +0000 (15:34 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 26 Jun 2008 22:34:27 +0000 (15:34 -0700)
This was broken in the merge of 965 blit support.  It tried to lock only
when things were already locked.

src/mesa/drivers/dri/intel/intel_regions.c

index ddeffc8ae46618ece309f3567c63e097ac426889..5d23c72504701ce6926d1cbabacf630323fc6935 100644 (file)
@@ -377,7 +377,7 @@ intel_region_cow(struct intel_context *intel, struct intel_region *region)
     */
 
    was_locked = intel->locked;
-   if (intel->locked)
+   if (!was_locked)
       LOCK_HARDWARE(intel);
 
    intelEmitCopyBlit(intel,
@@ -388,7 +388,7 @@ intel_region_cow(struct intel_context *intel, struct intel_region *region)
                     region->pitch, region->height,
                     GL_COPY);
 
-   if (was_locked)
+   if (!was_locked)
       UNLOCK_HARDWARE(intel);
 }