mesa: add bool param to _mesa_free_context_data
[mesa.git] / src / mesa / drivers / dri / radeon / radeon_debug.h
index a59104168f0fef9f89706bd8a14a71180c56bc26..8f56ec6769b710210742436c8053966ca0feb76f 100644 (file)
@@ -47,7 +47,11 @@ typedef enum radeon_debug_levels {
  * errors.
  */
 #ifndef RADEON_DEBUG_LEVEL
-#define RADEON_DEBUG_LEVEL RADEON_VERBOSE
+# ifdef DEBUG
+#  define RADEON_DEBUG_LEVEL RADEON_TRACE
+# else
+#  define RADEON_DEBUG_LEVEL RADEON_VERBOSE
+# endif
 #endif
 
 typedef enum radeon_debug_types {
@@ -77,59 +81,58 @@ struct radeon_debug {
        char indent[RADEON_MAX_INDENT];
 };
 
-extern radeon_debug_type_t radeon_enabled_debug_types;
-
 /**
  * Compabibility layer for old debug code
  **/
-#define RADEON_DEBUG radeon_enabled_debug_types
+#if defined(RADEON_R200)
+extern radeon_debug_type_t r200_enabled_debug_types;
+#define RADEON_DEBUG r200_enabled_debug_types
+#elif defined(RADEON_R100)
+extern radeon_debug_type_t r100_enabled_debug_types;
+#define RADEON_DEBUG r100_enabled_debug_types
+#else
+#error "Neither RADEON_R100 nor RADEON_R200 are defined."
+#endif
 
 static inline int radeon_is_debug_enabled(const radeon_debug_type_t type,
           const radeon_debug_level_t level)
 {
        return RADEON_DEBUG_LEVEL >= level
-               && (type & radeon_enabled_debug_types);
+               && (type & RADEON_DEBUG);
 }
-/*
- * define macro for gcc specific __attribute__ if using alternative compiler
- */
-#ifndef __GNUC__
-#define  __attribute__(x)  /*empty*/
-#endif
-
 
 extern void _radeon_print(const radeon_debug_type_t type,
           const radeon_debug_level_t level,
           const char* message,
-          ...)  __attribute__((format(printf,3,4)));
+          ...)  PRINTFLIKE(3, 4);
 /**
  * Print out debug message if channel specified by type is enabled
  * and compile time debugging level is at least as high as level parameter
  */
-#define radeon_print(type, level, message, ...) do {           \
+#define radeon_print(type, level, ...) do {                    \
        const radeon_debug_level_t _debug_level = (level);      \
        const radeon_debug_type_t _debug_type = (type);         \
        /* Compile out if level of message is too high */       \
        if (radeon_is_debug_enabled(type, level)) {             \
                _radeon_print(_debug_type, _debug_level,        \
-                       (message), ## __VA_ARGS__);             \
+                       __VA_ARGS__);                           \
        }                                                       \
 } while(0)
 
 /**
  * printf style function for writing error messages.
  */
-#define radeon_error(message, ...) do {                                \
+#define radeon_error(...) do {                                 \
        radeon_print(RADEON_GENERAL, RADEON_CRITICAL,           \
-               (message), ## __VA_ARGS__);                     \
+               __VA_ARGS__);                                   \
 } while(0)
 
 /**
  * printf style function for writing warnings.
  */
-#define radeon_warning(message, ...) do {                      \
+#define radeon_warning(...) do {                               \
        radeon_print(RADEON_GENERAL, RADEON_IMPORTANT,          \
-               (message), ## __VA_ARGS__);                     \
+               __VA_ARGS__);                                   \
 } while(0)
 
 extern void radeon_init_debug(void);
@@ -154,13 +157,13 @@ static inline void radeon_debug_remove_indent(void)
    I suppose we could inline this and use macro to fetch out __LINE__ and stuff in case we run into trouble
    with other compilers ... GLUE!
 */
-#define WARN_ONCE(a, ...)      do { \
+#define WARN_ONCE(...)      do { \
        static int __warn_once=1; \
-       if(__warn__once){ \
+       if(__warn_once){ \
                radeon_warning("*********************************WARN_ONCE*********************************\n"); \
                radeon_warning("File %s function %s line %d\n", \
-                       __FILE__, __FUNCTION__, __LINE__); \
-               radeon_warning(  (a), ## __VA_ARGS__);\
+                       __FILE__, __func__, __LINE__); \
+               radeon_warning(__VA_ARGS__);\
                radeon_warning("***************************************************************************\n"); \
                __warn_once=0;\
                } \