Mesa (master): gallium: Add a macro for memory barriers.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Jul 14 13:41:24 UTC 2010


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Jul 14 14:00:20 2010 +0100

gallium: Add a macro for memory barriers.

---

 src/gallium/include/pipe/p_compiler.h |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h
index a14486a..619a62f 100644
--- a/src/gallium/include/pipe/p_compiler.h
+++ b/src/gallium/include/pipe/p_compiler.h
@@ -184,6 +184,25 @@ typedef unsigned char boolean;
 
 #endif
 
+
+#if defined(__GNUC__)
+
+#define PIPE_READ_WRITE_BARRIER() __asm__("":::"memory")
+
+#elif defined(_MSC_VER)
+
+void _ReadWriteBarrier(void);
+#pragma intrinsic(_ReadWriteBarrier)
+#define PIPE_READ_WRITE_BARRIER() _ReadWriteBarrier()
+
+#else
+
+#warning "Unsupported compiler"
+#define PIPE_READ_WRITE_BARRIER() /* */
+
+#endif
+
+
 /* You should use these macros to mark if blocks where the if condition
  * is either likely to be true, or unlikely to be true.
  *




More information about the mesa-commit mailing list