I've been trying to track down a bug in the r128 driver causing lots of the following messages in the kernel logs:
r128_cce_depth called without lock held The problem appears (to me anyway) to be in Mesa-6.4.2/src/mesa/drivers/dri/r128/r128_span.c. There are a few macro definitions there that disable locking, yet the code clearly calls r128WriteDepthSpanLocked() which requires locking. It would seem the fix is to undef HW_LOCK and HW_UNLOCK before the depth buffer stuff so the locking occurs as normal. Attached is a patch which I can confirm fixes the issue on my machine. For a full history, see the Debian bug report at: http://bugs.debian.org/373949 Thanks in advance, -- Martijn van Oosterhout <[EMAIL PROTECTED]> http://svana.org/kleptog/
diff -ur Mesa-6.4.2/src/mesa/drivers/dri/r128/r128_span.c mesa-6.4.2/src/mesa/drivers/dri/r128/r128_span.c --- Mesa-6.4.2/src/mesa/drivers/dri/r128/r128_span.c 2005-07-01 02:08:52.000000000 +0200 +++ mesa-6.4.2/src/mesa/drivers/dri/r128/r128_span.c 2006-06-19 15:18:38.000000000 +0200 @@ -111,6 +111,12 @@ * Depth buffer */ +/* These functions require locking */ +#undef HW_LOCK +#undef HW_UNLOCK +#define HW_LOCK() LOCK_HARDWARE(R128_CONTEXT(ctx)); +#define HW_UNLOCK() UNLOCK_HARDWARE(R128_CONTEXT(ctx)); + /* 16-bit depth buffer functions */
_______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
