From 9e6a6bd575fb71d13d8cc384a128b232910658a4 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 4 Mar 2016 13:19:34 -0700 Subject: gallium/util: add new comments, assertions in u_debug_refcnt.c Reviewed-by: Eduardo Lima Mitev --- src/gallium/auxiliary/util/u_debug_refcnt.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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; -- cgit v1.2.3