Make ffb driver build on x86-64. The fix is two fold. First, use the
authorIan Romanick <idr@us.ibm.com>
Thu, 11 Aug 2005 04:25:36 +0000 (04:25 +0000)
committerIan Romanick <idr@us.ibm.com>
Thu, 11 Aug 2005 04:25:36 +0000 (04:25 +0000)
proper DRM_CAS_RESULT to declare the variable used to store the result
of DRM_CAS.  Second, only use the "real" versions of LOCK_HARDWARE and
UNLOCK_HARDWARE on SPARC.  That's the only platform where the hardware
can really exist.

src/mesa/drivers/dri/ffb/ffb_lock.h

index e6295dc0645ee23bb3018192e84cd06bfc84e68a..7c49f740f8928aad5f1b6998a566ab35b820ed58 100644 (file)
@@ -8,14 +8,18 @@
 extern void ffbXMesaUpdateState(ffbContextPtr fmesa);
 #define FFB_UPDATE_STATE(fmesa)        ffbXMesaUpdateState(fmesa)
 
-/* Lock the hardware and validate our state. */
-#if defined(__i386__) 
+/* Lock the hardware and validate our state.  This hardware can only ever
+ * exist on SPARC platforms.  Don't bother building the real LOCK_HARDWARE and
+ * UNLOCK_HARDWARE code on non-SPARC platforms.  The only reason the driver
+ * gets built on non-SPARC is to catch build breakages earlier.
+ */
+#if !defined(__sparc__)
 #define LOCK_HARDWARE(fmesa)                   
 #define UNLOCK_HARDWARE(fmesa)                 
 #else
 #define LOCK_HARDWARE(fmesa)                           \
   do {                                                 \
-    int __ret=0;                                       \
+    DRM_CAS_RESULT(__ret);                             \
     DRM_CAS(fmesa->driHwLock, fmesa->hHWContext,       \
            (DRM_LOCK_HELD | fmesa->hHWContext), __ret);\
     if (__ret) {                                       \