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

Michel Dänzer michel at daenzer.net
Wed Dec 9 18:48:51 PST 2015


On 10.12.2015 07:54, Marek Olšák wrote:
> 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);
> 

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list