Mesa (master): pipe: Get the p_atomic_dec_zero logic right this time.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Fri Apr 17 17:41:21 UTC 2009


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Apr 17 18:40:46 2009 +0100

pipe: Get the p_atomic_dec_zero logic right this time.

---

 src/gallium/include/pipe/p_atomic.h |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/gallium/include/pipe/p_atomic.h b/src/gallium/include/pipe/p_atomic.h
index ed5f665..0c3fbae 100644
--- a/src/gallium/include/pipe/p_atomic.h
+++ b/src/gallium/include/pipe/p_atomic.h
@@ -225,7 +225,7 @@ p_atomic_cmpxchg(struct pipe_atomic *v, int32_t old, int32_t _new)
 
 struct pipe_atomic
 {
-   long count;
+   volatile long count;
 };
 
 #define p_atomic_set(_v, _i) ((_v)->count = (_i))
@@ -234,7 +234,7 @@ struct pipe_atomic
 static INLINE boolean
 p_atomic_dec_zero(struct pipe_atomic *v)
 {
-   return InterlockedDecrement(&v->count) != 0;
+   return InterlockedDecrement(&v->count) == 0;
 }
 
 static INLINE void
@@ -270,7 +270,6 @@ p_atomic_cmpxchg(struct pipe_atomic *v, int32_t old, int32_t _new)
  * Add an assembly port instead. It may abort and
  * doesn't destroy used mutexes.
  */
-#warning "using mutex-based fallback for pipe_atomic"
 
 struct pipe_atomic {
    pipe_mutex mutex;




More information about the mesa-commit mailing list