[Mesa-dev] [PATCH] radeonsi: also print hexadecimal values for register fields in the IB parser

Marek Olšák maraeo at gmail.com
Wed Dec 9 14:54:09 PST 2015


From: Marek Olšák <marek.olsak at amd.com>

---
 src/gallium/drivers/radeonsi/si_debug.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_debug.c b/src/gallium/drivers/radeonsi/si_debug.c
index cce665e..034acf5 100644
--- a/src/gallium/drivers/radeonsi/si_debug.c
+++ b/src/gallium/drivers/radeonsi/si_debug.c
@@ -61,13 +61,16 @@ static void print_spaces(FILE *f, unsigned num)
 static void print_value(FILE *file, uint32_t value, int bits)
 {
 	/* Guess if it's int or float */
-	if (value <= (1 << 15))
-		fprintf(file, "%u\n", value);
-	else {
+	if (value <= (1 << 15)) {
+		if (value <= 9)
+			fprintf(file, "%u\n", value);
+		else
+			fprintf(file, "%u (0x%0*x)\n", value, bits / 4, value);
+	} else {
 		float f = uif(value);
 
 		if (fabs(f) < 100000 && f*10 == floor(f*10))
-			fprintf(file, "%.1ff\n", f);
+			fprintf(file, "%.1ff (0x%0*x)\n", f, bits / 4, value);
 		else
 			/* Don't print more leading zeros than there are bits. */
 			fprintf(file, "0x%0*x\n", bits / 4, value);
-- 
2.1.4



More information about the mesa-dev mailing list