Mesa (master): llvmpipe: added lp_fence_signal()

Brian Paul brianp at kemper.freedesktop.org
Wed Mar 24 19:50:47 PDT 2010


Module: Mesa
Branch: master
Commit: 331729c8c877fd8ddde0a83cbe0fcdd5df4b1f1f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=331729c8c877fd8ddde0a83cbe0fcdd5df4b1f1f

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Mar 24 19:30:27 2010 -0600

llvmpipe: added lp_fence_signal()

---

 src/gallium/drivers/llvmpipe/lp_fence.c |   16 ++++++++++++++++
 src/gallium/drivers/llvmpipe/lp_fence.h |    4 ++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_fence.c b/src/gallium/drivers/llvmpipe/lp_fence.c
index 525c117..00dc3ea 100644
--- a/src/gallium/drivers/llvmpipe/lp_fence.c
+++ b/src/gallium/drivers/llvmpipe/lp_fence.c
@@ -29,6 +29,7 @@
 #include "pipe/p_screen.h"
 #include "util/u_memory.h"
 #include "util/u_inlines.h"
+#include "lp_debug.h"
 #include "lp_fence.h"
 
 
@@ -99,6 +100,21 @@ llvmpipe_fence_finish(struct pipe_screen *screen,
 }
 
 
+void
+lp_fence_signal(struct lp_fence *fence)
+{
+   pipe_mutex_lock(fence->mutex);
+
+   fence->count++;
+   assert(fence->count <= fence->rank);
+
+   LP_DBG(DEBUG_RAST, "%s count=%u rank=%u\n", __FUNCTION__,
+          fence->count, fence->rank);
+
+   pipe_condvar_signal(fence->signalled);
+
+   pipe_mutex_unlock(fence->mutex);
+}
 
 
 void
diff --git a/src/gallium/drivers/llvmpipe/lp_fence.h b/src/gallium/drivers/llvmpipe/lp_fence.h
index c90e6de..d9270f5 100644
--- a/src/gallium/drivers/llvmpipe/lp_fence.h
+++ b/src/gallium/drivers/llvmpipe/lp_fence.h
@@ -54,6 +54,10 @@ lp_fence_create(unsigned rank);
 
 
 void
+lp_fence_signal(struct lp_fence *fence);
+
+
+void
 llvmpipe_init_screen_fence_funcs(struct pipe_screen *screen);
 
 



More information about the mesa-commit mailing list