(Stephane Marchesin, me) add hyperz support to radeon and r200 drivers. Only fast...
[mesa.git] / src / mesa / drivers / dri / ffb / ffb_lock.h
1 /* $XFree86: xc/lib/GL/mesa/src/drv/ffb/ffb_lock.h,v 1.2 2002/02/22 21:32:59 dawes Exp $ */
2
3 #ifndef _FFB_LOCK_H
4 #define _FFB_LOCK_H
5
6 #include "ffb_context.h"
7
8 extern void ffbXMesaUpdateState(ffbContextPtr fmesa);
9 #define FFB_UPDATE_STATE(fmesa) ffbXMesaUpdateState(fmesa)
10
11 /* Lock the hardware and validate our state. */
12 #if defined(__i386__)
13 #define LOCK_HARDWARE(fmesa)
14 #define UNLOCK_HARDWARE(fmesa)
15 #else
16 #define LOCK_HARDWARE(fmesa) \
17 do { \
18 int __ret=0; \
19 DRM_CAS(fmesa->driHwLock, fmesa->hHWContext, \
20 (DRM_LOCK_HELD | fmesa->hHWContext), __ret);\
21 if (__ret) { \
22 drmGetLock(fmesa->driFd, fmesa->hHWContext, 0); \
23 FFB_UPDATE_STATE(fmesa); \
24 } \
25 } while (0)
26
27
28 /* Unlock the hardware. */
29 #define UNLOCK_HARDWARE(fmesa) \
30 DRM_UNLOCK(fmesa->driFd, fmesa->driHwLock, fmesa->hHWContext);
31 #endif
32
33 #endif /* !(_FFB_LOCK_H) */