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

eocallaghan at alterapraxis.com eocallaghan at alterapraxis.com
Thu Dec 10 03:23:34 PST 2015


On 2015-12-10 09: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: Edward O'Callaghan <eocallaghan at alterapraxis.com>


More information about the mesa-dev mailing list