rootston: add -D flag to enable damage tracking debugging

This commit is contained in:
emersion 2018-03-26 17:34:46 -04:00
parent 4555fc8a54
commit 140bc19476
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
3 changed files with 12 additions and 4 deletions

View File

@ -66,8 +66,10 @@ struct roots_config {
struct wl_list bindings;
struct wl_list keyboards;
struct wl_list cursors;
char *config_path;
char *startup_cmd;
bool debug_damage_tracking;
};
/**

View File

@ -25,7 +25,9 @@ static void usage(const char *name, int ret) {
" (default: rootston.ini).\n"
" See `rootston.ini.example` for config\n"
" file documentation.\n"
" -E <COMMAND> Command that will be ran at startup.\n" , name);
" -E <COMMAND> Command that will be ran at startup.\n"
" -D Enable damage tracking debugging.\n",
name);
exit(ret);
}
@ -394,7 +396,7 @@ struct roots_config *roots_config_create_from_args(int argc, char *argv[]) {
wl_list_init(&config->bindings);
int c;
while ((c = getopt(argc, argv, "C:E:h")) != -1) {
while ((c = getopt(argc, argv, "C:E:hD")) != -1) {
switch (c) {
case 'C':
config->config_path = strdup(optarg);
@ -402,6 +404,9 @@ struct roots_config *roots_config_create_from_args(int argc, char *argv[]) {
case 'E':
config->startup_cmd = strdup(optarg);
break;
case 'D':
config->debug_damage_tracking = true;
break;
case 'h':
case '?':
usage(argv[0], c != 'h');

View File

@ -486,8 +486,9 @@ static void render_output(struct roots_output *output) {
goto renderer_end;
}
// Uncomment this line to debug damage tracking
//wlr_renderer_clear(renderer, (float[]){1, 1, 0, 0});
if (server->config->debug_damage_tracking) {
wlr_renderer_clear(renderer, (float[]){1, 1, 0, 0});
}
int nrects;
pixman_box32_t *rects = pixman_region32_rectangles(&damage, &nrects);