aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
committerReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
commitf4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch)
tree2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h
parenta840692edc9c6d19cd7c057f68e39c7d95eb767d (diff)
downloadnx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository
Diffstat (limited to 'nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h')
-rw-r--r--nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h b/nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h
new file mode 100644
index 000000000..7c49f740f
--- /dev/null
+++ b/nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h
@@ -0,0 +1,37 @@
+/* $XFree86: xc/lib/GL/mesa/src/drv/ffb/ffb_lock.h,v 1.2 2002/02/22 21:32:59 dawes Exp $ */
+
+#ifndef _FFB_LOCK_H
+#define _FFB_LOCK_H
+
+#include "ffb_context.h"
+
+extern void ffbXMesaUpdateState(ffbContextPtr fmesa);
+#define FFB_UPDATE_STATE(fmesa) ffbXMesaUpdateState(fmesa)
+
+/* 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 { \
+ DRM_CAS_RESULT(__ret); \
+ DRM_CAS(fmesa->driHwLock, fmesa->hHWContext, \
+ (DRM_LOCK_HELD | fmesa->hHWContext), __ret);\
+ if (__ret) { \
+ drmGetLock(fmesa->driFd, fmesa->hHWContext, 0); \
+ FFB_UPDATE_STATE(fmesa); \
+ } \
+ } while (0)
+
+
+/* Unlock the hardware. */
+#define UNLOCK_HARDWARE(fmesa) \
+ DRM_UNLOCK(fmesa->driFd, fmesa->driHwLock, fmesa->hHWContext);
+#endif
+
+#endif /* !(_FFB_LOCK_H) */