Revert "radeon/r300: no need to flush the cmdbuf when changing scissors state in...
[mesa.git] / src / mesa / drivers / dri / radeon / radeon_lock.c
index 6294b7e42be94264876207246f191cab1c06179e..7ad781ba6192c49e7b843872c1c199b457484949 100644 (file)
@@ -62,8 +62,6 @@ void radeonGetLock(radeonContextPtr rmesa, GLuint flags)
        __DRIdrawablePrivate *const readable = radeon_get_readable(rmesa);
        __DRIscreenPrivate *sPriv = rmesa->dri.screen;
 
-       assert(drawable != NULL);
-
        drmGetLock(rmesa->dri.fd, rmesa->dri.hwContext, flags);
 
        /* The window might have moved, so we might need to get new clip
@@ -74,12 +72,13 @@ void radeonGetLock(radeonContextPtr rmesa, GLuint flags)
         * Since the hardware state depends on having the latest drawable
         * clip rects, all state checking must be done _after_ this call.
         */
-       DRI_VALIDATE_DRAWABLE_INFO(sPriv, drawable);
-       if (drawable != readable) {
+       if (drawable)
+               DRI_VALIDATE_DRAWABLE_INFO(sPriv, drawable);
+       if (readable && drawable != readable) {
                DRI_VALIDATE_DRAWABLE_INFO(sPriv, readable);
        }
 
-       if (rmesa->lastStamp != drawable->lastStamp) {
+       if (drawable && (rmesa->lastStamp != drawable->lastStamp)) {
                radeon_window_moved(rmesa);
                rmesa->lastStamp = drawable->lastStamp;
        }
@@ -131,7 +130,7 @@ void radeon_lock_hardware(radeonContextPtr radeon
                if (ATOMIC_INC_AND_FETCH(radeon->dri.hwLockCount) > 1)
                {
 #ifndef NDEBUG
-                       if ( RADEON_DEBUG & DEBUG_SANITY )
+                       if ( RADEON_DEBUG & RADEON_SANITY )
                                fprintf(stderr, "*** %d times of recursive call to %s ***\n"
                                                "Original call was from %s (file: %s line: %d)\n"
                                                "Now call is coming from %s (file: %s line: %d)\n"