R6xx/r7xx: re-enable clears
authorAlex Deucher <alexdeucher@gmail.com>
Thu, 28 May 2009 21:09:19 +0000 (17:09 -0400)
committerAlex Deucher <alexdeucher@gmail.com>
Thu, 28 May 2009 21:09:19 +0000 (17:09 -0400)
flush cache and wait for idle after drawing.  Probably
just need the cache flush.  This gets redbook hello working
properly.

src/mesa/drivers/dri/r600/r700_clear.c

index c011b863fea04b3f499f6388a567b7276a94049f..fa0d81b72544807c4ecf4be82571cc971a474f0c 100644 (file)
@@ -96,6 +96,8 @@ static GLboolean r700ClearWithDraw(context_t *context, GLbitfield mask)
         uFs[11] = 0x60201910;
     }
 
+    r700Start3D(context);
+
     r700SyncSurf(context);
 
     /* Save current chip object. */
@@ -243,6 +245,8 @@ static GLboolean r700ClearWithDraw(context_t *context, GLbitfield mask)
     END_BATCH();
     COMMIT_BATCH();
 
+    r700WaitForIdleClean(context);
+
     (context->chipobj.FlushCmdBuffer)(context);
 
     (context->chipobj.FreeDmaRegion)(context, aos_vb.bo);
@@ -262,7 +266,7 @@ void r700Clear(GLcontext * ctx, GLbitfield mask)
         return;
     }
 
-    //r700ClearWithDraw(context, mask);
+    r700ClearWithDraw(context, mask);
 }