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