gallium: use cso state handling for pipe_vertex_element state
[mesa.git] / src / gallium / include / pipe / p_compiler.h
index 5f15e8203d485df8561ef8d08681e2fe74533efd..c7d35074948072e0c6609a9f48ffbf55d9d54490 100644 (file)
@@ -38,6 +38,8 @@
 #include "xf86_ansic.h"
 #include "xf86_libc.h"
 #endif
+#include <stddef.h>
+#include <stdarg.h>
 
 
 #if defined(_WIN32) && !defined(__WIN32__)
@@ -63,7 +65,7 @@
 #include <stdbool.h>
 
 
-#ifndef __HAIKU__
+#if !defined(__HAIKU__) && !defined(__USE_MISC)
 typedef unsigned int       uint;
 typedef unsigned short     ushort;
 #endif
@@ -104,7 +106,8 @@ typedef unsigned char boolean;
 
 /* Function visibility */
 #ifndef PUBLIC
-#  if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
+#  if (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303) \
+       || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
 #    define PUBLIC __attribute__((visibility("default")))
 #  else
 #    define PUBLIC
@@ -124,6 +127,9 @@ typedef unsigned char boolean;
 #   define __FUNCTION__ "<unknown>"
 #  endif
 # endif
+# if defined(_MSC_VER) && _MSC_VER < 1300
+#  define __FUNCTION__ "<unknown>"
+# endif
 #endif
 
 
@@ -139,8 +145,16 @@ typedef unsigned char boolean;
 
 
 
+#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
+#define PIPE_DEPRECATED  __attribute__((__deprecated__))
+#else
+#define PIPE_DEPRECATED
+#endif
+
+
+
 /* Macros for data alignment. */
-#if defined(__GNUC__)
+#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
 
 /* See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Type-Attributes.html */
 #define PIPE_ALIGN_TYPE(_alignment, _type) _type __attribute__((aligned(_alignment)))
@@ -149,9 +163,9 @@ typedef unsigned char boolean;
 #define PIPE_ALIGN_VAR(_alignment) __attribute__((aligned(_alignment)))
 
 #if (__GNUC__ > 4 || (__GNUC__ == 4 &&__GNUC_MINOR__>1)) && !defined(PIPE_ARCH_X86_64)
-#define ALIGN_STACK __attribute__((force_align_arg_pointer))
+#define PIPE_ALIGN_STACK __attribute__((force_align_arg_pointer))
 #else
-#define ALIGN_STACK
+#define PIPE_ALIGN_STACK
 #endif
 
 #elif defined(_MSC_VER)
@@ -160,7 +174,14 @@ typedef unsigned char boolean;
 #define PIPE_ALIGN_TYPE(_alignment, _type) __declspec(align(_alignment)) _type
 #define PIPE_ALIGN_VAR(_alignment) __declspec(align(_alignment))
 
-#define ALIGN_STACK
+#define PIPE_ALIGN_STACK
+
+#elif defined(SWIG)
+
+#define PIPE_ALIGN_TYPE(_alignment, _type) _type
+#define PIPE_ALIGN_VAR(_alignment)
+
+#define PIPE_ALIGN_STACK
 
 #else