summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2016-03-04 13:19:34 -0700
committerBrian Paul <[email protected]>2016-03-05 09:20:34 -0700
commit9e6a6bd575fb71d13d8cc384a128b232910658a4 (patch)
tree0b186a77b9d2d19e4fdf344e5c4ae64ea4a1f986
parentb6a607b2211d9091252fb1a85e7162fe6775dafa (diff)
gallium/util: add new comments, assertions in u_debug_refcnt.c
Reviewed-by: Eduardo Lima Mitev <[email protected]>
-rw-r--r--src/gallium/auxiliary/util/u_debug_refcnt.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_debug_refcnt.c b/src/gallium/auxiliary/util/u_debug_refcnt.c
index 97a4786b86f..0a4786442fc 100644
--- a/src/gallium/auxiliary/util/u_debug_refcnt.c
+++ b/src/gallium/auxiliary/util/u_debug_refcnt.c
@@ -77,6 +77,9 @@ compare_ptr(void *a, void *b)
}
+/**
+ * Return a small integer serial number for the given pointer.
+ */
static boolean
debug_serial(void *p, unsigned *pserial)
{
@@ -117,6 +120,9 @@ debug_serial(void *p, unsigned *pserial)
}
+/**
+ * Free the serial number for the given pointer.
+ */
static void
debug_serial_delete(void *p)
{
@@ -140,10 +146,24 @@ dump_stack(const char *symbols[STACK_LEN])
}
+/**
+ * Log a reference count change to the log file (if enabled).
+ * This is called via the pipe_reference() and debug_reference() functions,
+ * basically whenever a reference count is initialized or changed.
+ *
+ * \param p the refcount being changed (the value is not changed here)
+ * \param get_desc a function which will be called to print an object's
+ * name/pointer into a string buffer during logging
+ * \param change the reference count change which must be +/-1 or 0 when
+ * creating the object and initializing the refcount.
+ */
void
debug_reference_slowpath(const struct pipe_reference *p,
debug_reference_descriptor get_desc, int change)
{
+ assert(change >= -1);
+ assert(change <= 1);
+
if (debug_refcnt_state < 0)
return;