gallium/ddebug: add GALLIUM_DDEBUG_SKIP option
When we know that hangs occur only very late in a reproducible run (e.g. apitrace), we can save a lot of debugging time by skipping the flush and hang detection for earlier draw calls. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -290,6 +290,9 @@ ddebug_screen_create(struct pipe_screen *screen)
|
||||
puts(" $HOME/"DD_DIR"/ when a hang is detected.");
|
||||
puts(" If 'noflush' is specified, only detect hangs in pipe->flush.");
|
||||
puts("");
|
||||
puts(" GALLIUM_DDEBUG_SKIP=[count]");
|
||||
puts(" Skip flush and hang detection for the given initial number of draw calls.");
|
||||
puts("");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@@ -349,5 +352,11 @@ ddebug_screen_create(struct pipe_screen *screen)
|
||||
assert(0);
|
||||
}
|
||||
|
||||
dscreen->skip_count = debug_get_num_option("GALLIUM_DDEBUG_SKIP", 0);
|
||||
if (dscreen->skip_count > 0) {
|
||||
fprintf(stderr, "Gallium debugger skipping the first %u draw calls.\n",
|
||||
dscreen->skip_count);
|
||||
}
|
||||
|
||||
return &dscreen->base;
|
||||
}
|
||||
|
Reference in New Issue
Block a user