mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 13:58:04 +02:00
util/vma: Add a debug print helper
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5019>
This commit is contained in:
parent
adbcef37d2
commit
38e68db778
2 changed files with 24 additions and 0 deletions
|
|
@ -22,6 +22,7 @@
|
|||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "util/u_math.h"
|
||||
#include "util/vma.h"
|
||||
|
|
@ -304,3 +305,22 @@ util_vma_heap_free(struct util_vma_heap *heap,
|
|||
|
||||
util_vma_heap_validate(heap);
|
||||
}
|
||||
|
||||
void
|
||||
util_vma_heap_print(struct util_vma_heap *heap, FILE *fp,
|
||||
const char *tab, uint64_t total_size)
|
||||
{
|
||||
fprintf(fp, "%sutil_vma_heap:\n", tab);
|
||||
|
||||
uint64_t total_free = 0;
|
||||
util_vma_foreach_hole(hole, heap) {
|
||||
fprintf(fp, "%s hole: offset = %"PRIu64" (0x%"PRIx64", "
|
||||
"size = %"PRIu64" (0x%"PRIx64")\n",
|
||||
tab, hole->offset, hole->offset, hole->size, hole->size);
|
||||
total_free += hole->size;
|
||||
}
|
||||
assert(total_free <= total_size);
|
||||
fprintf(fp, "%s%"PRIu64"B (0x%"PRIx64") free (%.2f%% full)\n",
|
||||
tab, total_free, total_free,
|
||||
((double)(total_size - total_free) / (double)total_size) * 100);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#define _UTIL_VMA_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "list.h"
|
||||
|
||||
|
|
@ -55,6 +56,9 @@ bool util_vma_heap_alloc_addr(struct util_vma_heap *heap,
|
|||
void util_vma_heap_free(struct util_vma_heap *heap,
|
||||
uint64_t offset, uint64_t size);
|
||||
|
||||
void util_vma_heap_print(struct util_vma_heap *heap, FILE *fp,
|
||||
const char *tab, uint64_t total_size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern C */
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue