[Mesa-dev] [PATCH] i965: Tidy shader time printing code by using printf's field widths.

Kenneth Graunke kenneth at whitecape.org
Thu Mar 28 00:18:46 PDT 2013


We can use %-6s%-6s rather than manually counting characters, resulting
in much more readable code.

This necessitates a small secondary change: using "total fs16" and ""
now causes the "" string to be padded out to 6 characters, resulting in
too much whitespace.  Splitting it into "total" and "fs16" produces the
same output as before.

Cc: Eric Anholt <eric at anholt.net>
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/brw_program.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

What in the world?  Loops? :)

Want to squash this in with your patch?

diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c
index d7606e2..87986a9 100644
--- a/src/mesa/drivers/dri/i965/brw_program.c
+++ b/src/mesa/drivers/dri/i965/brw_program.c
@@ -280,15 +280,7 @@ static void
 print_shader_time_line(const char *stage, const char *name,
                        int shader_num, uint64_t time, uint64_t total)
 {
-   int namelen = printf("%s ", stage);
-
-   while (namelen++ < 6)
-      printf(" ");
-
-   namelen += printf("%s ", name);
-
-   while (namelen++ < 13)
-      printf(" ");
+   printf("%-6s%-6s", stage, name);
 
    if (shader_num != -1)
       printf("%4d: ", shader_num);
@@ -429,9 +421,9 @@ brw_report_shader_time(struct brw_context *brw)
    }
 
    printf("\n");
-   print_shader_time_line("total vs", "", -1, total_by_type[ST_VS], total);
-   print_shader_time_line("total fs8", "", -1, total_by_type[ST_FS8], total);
-   print_shader_time_line("total fs16", "", -1, total_by_type[ST_FS16], total);
+   print_shader_time_line("total", "vs", -1, total_by_type[ST_VS], total);
+   print_shader_time_line("total", "fs8", -1, total_by_type[ST_FS8], total);
+   print_shader_time_line("total", "fs16", -1, total_by_type[ST_FS16], total);
 }
 
 static void
-- 
1.8.2



More information about the mesa-dev mailing list