diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:43:39 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:43:39 +0200 |
commit | f4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch) | |
tree | 2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/extras/Mesa/src/mesa/drivers/dri/ffb/ffb_lock.h | |
parent | a840692edc9c6d19cd7c057f68e39c7d95eb767d (diff) | |
download | nx-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.h | 37 |
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) */ |