r300: Removed the dangerous R300_SPAN_DISABLE_LOCKING flag.
authorOliver McFadden <z3ro.geek@gmail.com>
Wed, 9 May 2007 19:24:59 +0000 (19:24 +0000)
committerOliver McFadden <z3ro.geek@gmail.com>
Wed, 9 May 2007 19:24:59 +0000 (19:24 +0000)
Enabling R300_SPAN_DISABLE_LOCKING would probably cause more lockups; I think
there are a couple of other little bugs in this code, too. It's best to remove
it.

src/mesa/drivers/dri/r300/r300_context.h
src/mesa/drivers/dri/r300/radeon_span.c

index 9f36c4238cdb96a10c5ca1442c768103eca162cb..8dc8f9819947a4ec05ea04185547f7528850b1a5 100644 (file)
@@ -871,7 +871,6 @@ struct r300_context {
 #endif
 
        GLboolean texmicrotile;
-       GLboolean span_dlocking;
        GLboolean disable_lowimpact_fallback;
 };
 
index 5e85733ae66fbcf8093336d831860fab3ecb1b6d..5003f7cbc87b96bf399c48fe36e0be0e3c8f4687 100644 (file)
@@ -233,32 +233,12 @@ do {                                                                      \
 static void radeonSpanRenderStart(GLcontext * ctx)
 {
        radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
-
-       static int first = 1;
+#if COMPILE_R300
        r300ContextPtr r300 = (r300ContextPtr) rmesa;
-
-       if (first) {
-               r300->span_dlocking =
-                   getenv("R300_SPAN_DISABLE_LOCKING") ? 1 : 0;
-               if (r300->span_dlocking == 0) {
-                       fprintf(stderr,
-                               "Try R300_SPAN_DISABLE_LOCKING env var if this hangs.\n");
-                       fflush(stderr);
-               }
-               first = 0;
-       }
-
-       if (r300->span_dlocking) {
-               r300Flush(ctx);
-               LOCK_HARDWARE(rmesa);
-               radeonWaitForIdleLocked(rmesa);
-               UNLOCK_HARDWARE(rmesa);
-
-               return;
-       }
-       //   R300_FIREVERTICES( rmesa );
-       // old code has flush
-       r300Flush(ctx);
+       R300_FIREVERTICES(r300);
+#else
+       RADEON_FIREVERTICES(rmesa);
+#endif
        LOCK_HARDWARE(rmesa);
        radeonWaitForIdleLocked(rmesa);
 }
@@ -266,10 +246,8 @@ static void radeonSpanRenderStart(GLcontext * ctx)
 static void radeonSpanRenderFinish(GLcontext * ctx)
 {
        radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
-       r300ContextPtr r300 = (r300ContextPtr) rmesa;
        _swrast_flush(ctx);
-       if (r300->span_dlocking == 0)
-               UNLOCK_HARDWARE(rmesa);
+       UNLOCK_HARDWARE(rmesa);
 }
 
 void radeonInitSpanFuncs(GLcontext * ctx)