nouveau_sync.h revision fda9279d
1#ifndef __NOUVEAU_SYNC_H__
2#define __NOUVEAU_SYNC_H__
3
4#include "xorg-server.h"
5#include "scrnintstr.h"
6
7#ifdef DRI3
8#include "misync.h"
9#include "misyncshm.h"
10#include "misyncstr.h"
11
12#define wrap(priv, parn, name, func) {                                         \
13    priv->name = parn->name;                                                   \
14    parn->name = func;                                                         \
15}
16
17#define unwrap(priv, parn, name) {                                             \
18    if (priv && priv->name)                                                    \
19	parn->name = priv->name;                                               \
20}
21
22#define swap(priv, parn, name) {                                               \
23    void *tmp = priv->name;                                                    \
24    priv->name = parn->name;                                                   \
25    parn->name = tmp;                                                          \
26}
27
28Bool nouveau_sync_init(ScreenPtr pScreen);
29void nouveau_sync_fini(ScreenPtr pScreen);
30#else
31static inline Bool nouveau_sync_init(ScreenPtr pScreen) { return FALSE; }
32static inline void nouveau_sync_fini(ScreenPtr pScreen) { }
33#endif
34#endif
35