summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util/u_debug_refcnt.h
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-08-18 00:40:33 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-08-20 18:18:28 +0200
commit2ff13fe89e8f0b372512f16bb64d5a703e9bf891 (patch)
tree90e65f2421d3a6c8cbe29e016330a91b47d0e918 /src/gallium/auxiliary/util/u_debug_refcnt.h
parentb1fa352db8a69883f97dd579d892291f414a67f5 (diff)
auxiliary: add reference count debugging code
Diffstat (limited to 'src/gallium/auxiliary/util/u_debug_refcnt.h')
-rw-r--r--src/gallium/auxiliary/util/u_debug_refcnt.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_debug_refcnt.h b/src/gallium/auxiliary/util/u_debug_refcnt.h
new file mode 100644
index 0000000000..e48a2a645c
--- /dev/null
+++ b/src/gallium/auxiliary/util/u_debug_refcnt.h
@@ -0,0 +1,29 @@
+/*
+ * u_debug_refcnt.h
+ *
+ * Created on: Aug 17, 2010
+ * Author: lb
+ */
+
+#ifndef U_DEBUG_REFCNT_H_
+#define U_DEBUG_REFCNT_H_
+
+#include <pipe/p_config.h>
+#include <pipe/p_state.h>
+
+#if defined(DEBUG) && (!defined(PIPE_OS_WINDOWS) || defined(PIPE_SUBSYSTEM_WINDOWS_USER))
+extern int debug_refcnt_state;
+
+void debug_reference_slowpath(const struct pipe_reference* p, void* get_desc, int change);
+
+static INLINE void debug_reference(const struct pipe_reference* p, void* get_desc, int change)
+{
+ if(debug_refcnt_state >= 0)
+ debug_reference_slowpath(p, get_desc, change);
+}
+#else
+static INLINE void debug_reference(const struct pipe_reference* p, void* get_desc, const char* op)
+{}
+#endif
+
+#endif /* U_DEBUG_REFCNT_H_ */