diff options
author | Keith Whitwell <[email protected]> | 2008-03-20 13:10:32 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2008-03-20 13:10:32 +0000 |
commit | a88202d3b02a24a3bfff95c5e375ead44dae4c5e (patch) | |
tree | aed505415e9dbaba151e1a186384178a74a6b862 /src/gallium | |
parent | 122ed506f4b808503b230bade421018614dbe696 (diff) |
gallium: add debug facility to dump random blobs as hex
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/util/p_debug.c | 18 | ||||
-rw-r--r-- | src/gallium/include/pipe/p_debug.h | 8 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/p_debug.c b/src/gallium/auxiliary/util/p_debug.c index bd3a0221eaa..c51e9e6a692 100644 --- a/src/gallium/auxiliary/util/p_debug.c +++ b/src/gallium/auxiliary/util/p_debug.c @@ -85,6 +85,22 @@ void debug_printf(const char *format, ...) } +void debug_print_blob( const char *name, + const void *blob, + unsigned size ) +{ + const unsigned *ublob = (const unsigned *)blob; + unsigned i; + + debug_printf("%s (%d dwords%s)\n", name, size/4, + size%4 ? "... plus a few bytes" : ""); + + for (i = 0; i < size/4; i++) { + debug_printf("%d:\t%08x\n", i, ublob[i]); + } +} + + /* TODO: implement a debug_abort that calls EngBugCheckEx on WIN32 */ @@ -240,3 +256,5 @@ debug_dump_flags(const struct debug_named_value *names, return output; } + + diff --git a/src/gallium/include/pipe/p_debug.h b/src/gallium/include/pipe/p_debug.h index e924c1ef606..14f8056924d 100644 --- a/src/gallium/include/pipe/p_debug.h +++ b/src/gallium/include/pipe/p_debug.h @@ -73,6 +73,14 @@ extern "C" { */ void debug_printf(const char *format, ...); + +/* Dump a blob in hex to the same place that debug_printf sends its + * messages: + */ +void debug_print_blob( const char *name, + const void *blob, + unsigned size ); + /** * @sa debug_printf */ |