swr/rast: Pull of RTAI gather & offset out of clip/bin code
[mesa.git] / src / gallium / drivers / swr / swr_fence.h
index df3776e8989fee5d4357c077137c99019952af51..4766b5b89111bcfee201431afc43f5f61da20135 100644 (file)
@@ -25,6 +25,8 @@
 #include "pipe/p_state.h"
 #include "util/u_inlines.h"
 
+#include "swr_fence_work.h"
+
 struct pipe_screen;
 
 struct swr_fence {
@@ -36,6 +38,12 @@ struct swr_fence {
    unsigned pending;
 
    unsigned id; /* Just for reference */
+   
+   struct {
+      uint32_t count;
+      struct swr_fence_work head;
+      struct swr_fence_work *tail;
+   } work;
 };
 
 
@@ -45,6 +53,14 @@ swr_fence(struct pipe_fence_handle *fence)
    return (struct swr_fence *)fence;
 }
 
+
+static INLINE boolean
+swr_is_fence_done(struct pipe_fence_handle *fence_handle)
+{
+   struct swr_fence *fence = swr_fence(fence_handle);
+   return (fence->read == fence->write);
+}
+
 static INLINE boolean
 swr_is_fence_pending(struct pipe_fence_handle *fence_handle)
 {
@@ -61,6 +77,7 @@ void swr_fence_reference(struct pipe_screen *screen,
                          struct pipe_fence_handle *f);
 
 boolean swr_fence_finish(struct pipe_screen *screen,
+                         struct pipe_context *ctx,
                          struct pipe_fence_handle *fence_handle,
                          uint64_t timeout);