[Mesa-dev] [PATCH 48/84] st/nine: Add NINE_DEBUG=tid to turn threadid on or off

Axel Davy axel.davy at ens.fr
Wed Dec 7 22:55:21 UTC 2016


From: Patrick Rudolph <siro at das-labor.org>

To ease debugging.

Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
 src/gallium/state_trackers/nine/nine_debug.c | 14 +++++++++-----
 src/gallium/state_trackers/nine/nine_debug.h |  1 +
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/gallium/state_trackers/nine/nine_debug.c b/src/gallium/state_trackers/nine/nine_debug.c
index 4f841e1..1dcbca4 100644
--- a/src/gallium/state_trackers/nine/nine_debug.c
+++ b/src/gallium/state_trackers/nine/nine_debug.c
@@ -53,6 +53,7 @@ static const struct debug_named_value nine_debug_flags[] = {
     { "user",    DBG_USER,                 "User errors, both fixable and unfixable." },
     { "error",   DBG_ERROR,                "Driver errors, always visible." },
     { "warn",    DBG_WARN,                 "Driver warnings, always visible in debug builds." },
+    { "tid",     DBG_TID,                  "Display thread-ids." },
     DEBUG_NAMED_VALUE_END
 };
 
@@ -65,17 +66,20 @@ _nine_debug_printf( unsigned long flag,
     static boolean first = TRUE;
     static unsigned long dbg_flags = DBG_ERROR | DBG_WARN;
     unsigned long tid = 0;
+
+    if (first) {
+        first = FALSE;
+        dbg_flags |= debug_get_flags_option("NINE_DEBUG", nine_debug_flags, 0);
+    }
+
 #if defined(HAVE_PTHREAD)
 #  if defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) && \
       (__GLIBC__ >= 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 12))
-    tid = pthread_self();
+    if (dbg_flags & DBG_TID)
+        tid = pthread_self();
 #  endif
 #endif
 
-    if (first) {
-        first = FALSE;
-        dbg_flags |= debug_get_flags_option("NINE_DEBUG", nine_debug_flags, 0);
-    }
     if (dbg_flags & flag) {
         const char *f = func ? strrchr(func, '_') : NULL;
         va_list ap;
diff --git a/src/gallium/state_trackers/nine/nine_debug.h b/src/gallium/state_trackers/nine/nine_debug.h
index 4c017ea..841438a 100644
--- a/src/gallium/state_trackers/nine/nine_debug.h
+++ b/src/gallium/state_trackers/nine/nine_debug.h
@@ -83,6 +83,7 @@ _nine_debug_printf( unsigned long flag,
 #define DBG_USER                 (1<<24)
 #define DBG_ERROR                (1<<25)
 #define DBG_WARN                 (1<<26)
+#define DBG_TID                  (1<<27)
 
 void
 _nine_stub( const char *file,
-- 
2.10.2



More information about the mesa-dev mailing list