gl-renderer: print use time with gl-shader-generator debug
This should help correlate which shaders were used in repainting outputs recently. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012 Intel Corporation
|
* Copyright 2012 Intel Corporation
|
||||||
* Copyright 2015,2019 Collabora, Ltd.
|
* Copyright 2015,2019,2021 Collabora, Ltd.
|
||||||
* Copyright 2016 NVIDIA Corporation
|
* Copyright 2016 NVIDIA Corporation
|
||||||
* Copyright 2019 Harish Krupo
|
* Copyright 2019 Harish Krupo
|
||||||
* Copyright 2019 Intel Corporation
|
* Copyright 2019 Intel Corporation
|
||||||
@@ -42,6 +42,7 @@
|
|||||||
#include "gl-renderer.h"
|
#include "gl-renderer.h"
|
||||||
#include "gl-renderer-internal.h"
|
#include "gl-renderer-internal.h"
|
||||||
#include "shared/helpers.h"
|
#include "shared/helpers.h"
|
||||||
|
#include "shared/timespec-util.h"
|
||||||
|
|
||||||
/* static const char vertex_shader[]; vertex.glsl */
|
/* static const char vertex_shader[]; vertex.glsl */
|
||||||
#include "vertex-shader.h"
|
#include "vertex-shader.h"
|
||||||
@@ -281,9 +282,13 @@ gl_shader_scope_new_subscription(struct weston_log_subscription *subs,
|
|||||||
static const char bar[] = "-----------------------------------------------------------------------------";
|
static const char bar[] = "-----------------------------------------------------------------------------";
|
||||||
struct gl_renderer *gr = data;
|
struct gl_renderer *gr = data;
|
||||||
struct gl_shader *shader;
|
struct gl_shader *shader;
|
||||||
|
struct timespec now;
|
||||||
|
int msecs;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
char *desc;
|
char *desc;
|
||||||
|
|
||||||
|
weston_compositor_read_presentation_clock(gr->compositor, &now);
|
||||||
|
|
||||||
weston_log_subscription_printf(subs,
|
weston_log_subscription_printf(subs,
|
||||||
"Vertex shader body:\n"
|
"Vertex shader body:\n"
|
||||||
"%s\n%s\n"
|
"%s\n%s\n"
|
||||||
@@ -292,13 +297,16 @@ gl_shader_scope_new_subscription(struct weston_log_subscription *subs,
|
|||||||
bar, vertex_shader,
|
bar, vertex_shader,
|
||||||
bar, fragment_shader, bar);
|
bar, fragment_shader, bar);
|
||||||
|
|
||||||
weston_log_subscription_printf(subs, "Cached GLSL programs:\n");
|
weston_log_subscription_printf(subs,
|
||||||
|
"Cached GLSL programs:\n id: (used secs ago) description +/-flags\n");
|
||||||
wl_list_for_each(shader, &gr->shader_list, link) {
|
wl_list_for_each(shader, &gr->shader_list, link) {
|
||||||
count++;
|
count++;
|
||||||
|
msecs = timespec_sub_to_msec(&now, &shader->last_used);
|
||||||
desc = create_shader_description_string(&shader->key);
|
desc = create_shader_description_string(&shader->key);
|
||||||
weston_log_subscription_printf(subs,
|
weston_log_subscription_printf(subs,
|
||||||
"%6u: %s\n",
|
"%6u: (%.1f) %s\n",
|
||||||
shader->program, desc);
|
shader->program,
|
||||||
|
msecs / 1000.0, desc);
|
||||||
}
|
}
|
||||||
weston_log_subscription_printf(subs, "Total: %d programs.\n", count);
|
weston_log_subscription_printf(subs, "Total: %d programs.\n", count);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user