overlay: improve alignment of some labels

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2013-08-27 12:54:37 +01:00
parent d58aed18ee
commit 396fa1b3f5

View File

@ -222,14 +222,14 @@ static void show_gpu_top(struct overlay_context *ctx, struct overlay_gpu_top *gt
y = PAD + 12 - 2; y = PAD + 12 - 2;
cairo_set_source_rgba(ctx->cr, 0.75, 0.25, 0.75, 1.); cairo_set_source_rgba(ctx->cr, 0.75, 0.25, 0.75, 1.);
cairo_move_to(ctx->cr, PAD, y); cairo_move_to(ctx->cr, PAD, y);
sprintf(txt, "CPU: %d%% busy", gt->cpu_top.busy); sprintf(txt, "CPU: %3d%% busy", gt->cpu_top.busy);
cairo_show_text(ctx->cr, txt); cairo_show_text(ctx->cr, txt);
y += 14; y += 14;
for (n = 0; n < gt->gpu_top.num_rings; n++) { for (n = 0; n < gt->gpu_top.num_rings; n++) {
struct chart *c =&gt->busy[n]; struct chart *c =&gt->busy[n];
len = sprintf(txt, "%s: %d%% busy", len = sprintf(txt, "%s: %3d%% busy",
gt->gpu_top.ring[n].name, gt->gpu_top.ring[n].name,
gt->gpu_top.ring[n].u.u.busy); gt->gpu_top.ring[n].u.u.busy);
if (gt->gpu_top.ring[n].u.u.wait) if (gt->gpu_top.ring[n].u.u.wait)
@ -537,7 +537,7 @@ static void show_gpu_freq(struct overlay_context *ctx, struct overlay_gpu_freq *
y1 = y2 = y; y1 = y2 = y;
if (has_freq) { if (has_freq) {
y2 += 14; y2 += 14;
y2 += 14; y2 += 10;
} }
if (has_rc6) if (has_rc6)
y2 += 14; y2 += 14;
@ -557,46 +557,55 @@ static void show_gpu_freq(struct overlay_context *ctx, struct overlay_gpu_freq *
cairo_fill(ctx->cr); cairo_fill(ctx->cr);
if (has_freq) { if (has_freq) {
cairo_text_extents_t extents;
len = sprintf(buf, "Frequency: %dMHz", gf->gpu_freq.current); len = sprintf(buf, "Frequency: %dMHz", gf->gpu_freq.current);
if (gf->gpu_freq.request) if (gf->gpu_freq.request)
sprintf(buf + len, " (requested %dMHz)", gf->gpu_freq.request);
cairo_set_source_rgba(ctx->cr, 1, 1, 1, 1); cairo_set_source_rgba(ctx->cr, 1, 1, 1, 1);
sprintf(buf + len, " (requested %dMHz)", gf->gpu_freq.request);
cairo_move_to(ctx->cr, PAD, y); cairo_move_to(ctx->cr, PAD, y);
cairo_show_text(ctx->cr, buf); cairo_show_text(ctx->cr, buf);
y += 14; y += 14;
sprintf(buf, "min: %dMHz, max: %dMHz", gf->gpu_freq.min, gf->gpu_freq.max); cairo_text_extents(ctx->cr, "Frequency: ", &extents);
cairo_move_to(ctx->cr, PAD, y);
cairo_set_font_size(ctx->cr, 10);
sprintf(buf, " min: %dMHz, max: %dMHz", gf->gpu_freq.min, gf->gpu_freq.max);
cairo_set_source_rgba(ctx->cr, .8, .8, .8, 1);
cairo_move_to(ctx->cr, PAD + extents.width, y);
cairo_show_text(ctx->cr, buf); cairo_show_text(ctx->cr, buf);
y += 14; cairo_set_font_size(ctx->cr, 12);
y += 12;
} }
if (has_rc6) { if (has_rc6) {
sprintf(buf, "RC6: %d%%", gf->rc6.rc6_combined); len = sprintf(buf, "RC6: %d%%", gf->rc6.rc6_combined);
cairo_set_source_rgba(ctx->cr, 1, 1, 1, 1);
cairo_move_to(ctx->cr, PAD, y); cairo_move_to(ctx->cr, PAD, y);
cairo_show_text(ctx->cr, buf);
if (gf->rc6.rc6_combined && !is_power_of_two(gf->rc6.enabled)) { if (gf->rc6.rc6_combined && !is_power_of_two(gf->rc6.enabled)) {
char *txt; int need_comma = 0;
len = 0; len += sprintf(buf + len, " (");
txt = buf + sprintf(buf, " (");
if (gf->rc6.enabled & 1) { if (gf->rc6.enabled & 1) {
if (len) len += sprintf(buf + len, "%src6=%d%%",
len += sprintf(txt + len, ", "); need_comma ? ", " : "",
len += sprintf(txt + len, "rc6=%d%%", gf->rc6.rc6); gf->rc6.rc6);
need_comma = 1;
} }
if (gf->rc6.enabled & 2) { if (gf->rc6.enabled & 2) {
if (len) len += sprintf(buf + len, "%src6p=%d%%",
len += sprintf(txt + len, ", "); need_comma ? ", " : "",
len += sprintf(txt + len, "rc6p=%d%%", gf->rc6.rc6p); gf->rc6.rc6p);
need_comma = 1;
} }
if (gf->rc6.enabled & 4) { if (gf->rc6.enabled & 4) {
if (len) len += sprintf(buf + len, "%src6pp=%d%%",
len += sprintf(txt + len, ", "); need_comma ? ", " : "",
len += sprintf(txt + len, "rc6pp=%d%%", gf->rc6.rc6pp); gf->rc6.rc6pp);
need_comma = 1;
} }
sprintf(txt + len, ")"); sprintf(buf + len, ")");
cairo_show_text(ctx->cr, buf);
} }
cairo_show_text(ctx->cr, buf);
y += 14; y += 14;
} }
@ -669,10 +678,10 @@ static void show_gem_objects(struct overlay_context *ctx, struct overlay_gem_obj
for (comm = go->gem_objects.comm; comm; comm = comm->next) { for (comm = go->gem_objects.comm; comm; comm = comm->next) {
if ((comm->bytes >> 20) == 0) if ((comm->bytes >> 20) == 0)
break; break;
y2 += 14; y2 += 12;
} }
y1 += -12 - 2; y1 += -12 - 2;
y2 += -14 + 4; y2 += -12 + 4;
cairo_rectangle(ctx->cr, x, y1, ctx->width/2-SIZE_PAD, y2-y1); cairo_rectangle(ctx->cr, x, y1, ctx->width/2-SIZE_PAD, y2-y1);
linear = cairo_pattern_create_linear(x, 0, x+ctx->width/2-SIZE_PAD, 0); linear = cairo_pattern_create_linear(x, 0, x+ctx->width/2-SIZE_PAD, 0);
@ -690,6 +699,7 @@ static void show_gem_objects(struct overlay_context *ctx, struct overlay_gem_obj
y += 14; y += 14;
cairo_set_source_rgba(ctx->cr, .8, .8, .8, 1); cairo_set_source_rgba(ctx->cr, .8, .8, .8, 1);
cairo_set_font_size(ctx->cr, 10);
for (comm = go->gem_objects.comm; comm; comm = comm->next) { for (comm = go->gem_objects.comm; comm; comm = comm->next) {
if ((comm->bytes >> 20) == 0) if ((comm->bytes >> 20) == 0)
break; break;
@ -698,7 +708,7 @@ static void show_gem_objects(struct overlay_context *ctx, struct overlay_gem_obj
comm->name, comm->bytes >> 20, comm->count); comm->name, comm->bytes >> 20, comm->count);
cairo_move_to(ctx->cr, x, y); cairo_move_to(ctx->cr, x, y);
cairo_show_text(ctx->cr, buf); cairo_show_text(ctx->cr, buf);
y += 14; y += 12;
} }
} }