#include "util/u_double_list.h"
#define NOUVEAU_FENCE_STATE_AVAILABLE 0
-#define NOUVEAU_FENCE_STATE_EMITTED 1
-#define NOUVEAU_FENCE_STATE_FLUSHED 2
-#define NOUVEAU_FENCE_STATE_SIGNALLED 3
+#define NOUVEAU_FENCE_STATE_EMITTING 1
+#define NOUVEAU_FENCE_STATE_EMITTED 2
+#define NOUVEAU_FENCE_STATE_FLUSHED 3
+#define NOUVEAU_FENCE_STATE_SIGNALLED 4
struct nouveau_fence_work {
struct list_head list;
static INLINE void
nouveau_fence_ref(struct nouveau_fence *fence, struct nouveau_fence **ref)
{
+ if (fence)
+ ++fence->ref;
+
if (*ref) {
if (--(*ref)->ref == 0)
nouveau_fence_del(*ref);
}
- if (fence)
- ++fence->ref;
*ref = fence;
}