radeon/r200/r300: attempt to move lock to common code
[mesa.git] / src / mesa / drivers / dri / r200 / r200_lock.h
index f1cb624d8fe384f520393ab72e2863b7f13fa4b2..29cad5b226bdee15949ee48dae93df7f324b944a 100644 (file)
@@ -35,72 +35,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #ifndef __R200_LOCK_H__
 #define __R200_LOCK_H__
 
-extern void r200GetLock( r200ContextPtr rmesa, GLuint flags );
-
-/* Turn DEBUG_LOCKING on to find locking conflicts.
- */
-#define DEBUG_LOCKING  0
-
-#if DEBUG_LOCKING
-extern char *prevLockFile;
-extern int prevLockLine;
-
-#define DEBUG_LOCK()                                                   \
-   do {                                                                        \
-      prevLockFile = (__FILE__);                                       \
-      prevLockLine = (__LINE__);                                       \
-   } while (0)
-
-#define DEBUG_RESET()                                                  \
-   do {                                                                        \
-      prevLockFile = 0;                                                        \
-      prevLockLine = 0;                                                        \
-   } while (0)
-
-#define DEBUG_CHECK_LOCK()                                             \
-   do {                                                                        \
-      if ( prevLockFile ) {                                            \
-        fprintf( stderr,                                               \
-                 "LOCK SET!\n\tPrevious %s:%d\n\tCurrent: %s:%d\n",    \
-                 prevLockFile, prevLockLine, __FILE__, __LINE__ );     \
-        exit( 1 );                                                     \
-      }                                                                        \
-   } while (0)
-
-#else
-
-#define DEBUG_LOCK()
-#define DEBUG_RESET()
-#define DEBUG_CHECK_LOCK()
-
-#endif
-
-/*
- * !!! We may want to separate locks from locks with validation.  This
- * could be used to improve performance for those things commands that
- * do not do any drawing !!!
- */
-
-
-/* Lock the hardware and validate our state.
- */
-#define LOCK_HARDWARE( rmesa )                                 \
-   do {                                                                \
-      char __ret = 0;                                          \
-      DEBUG_CHECK_LOCK();                                      \
-      DRM_CAS( rmesa->radeon.dri.hwLock, rmesa->radeon.dri.hwContext,          \
-              (DRM_LOCK_HELD | rmesa->radeon.dri.hwContext), __ret );  \
-      if ( __ret )                                             \
-        r200GetLock( rmesa, 0 );                               \
-      DEBUG_LOCK();                                            \
-   } while (0)
-
-#define UNLOCK_HARDWARE( rmesa )                                       \
-   do {                                                                        \
-      DRM_UNLOCK( rmesa->radeon.dri.fd,                                        \
-                 rmesa->radeon.dri.hwLock,                                     \
-                 rmesa->radeon.dri.hwContext );                                \
-      DEBUG_RESET();                                                   \
-   } while (0)
+#include "common_lock.h"
 
 #endif /* __R200_LOCK_H__ */