From: Nicolai Hähnle <nicolai.haeh...@amd.com> For better debuggability. --- src/gallium/auxiliary/driver_ddebug/dd_draw.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/src/gallium/auxiliary/driver_ddebug/dd_draw.c b/src/gallium/auxiliary/driver_ddebug/dd_draw.c index f5b94356119..4eb0dd096f4 100644 --- a/src/gallium/auxiliary/driver_ddebug/dd_draw.c +++ b/src/gallium/auxiliary/driver_ddebug/dd_draw.c @@ -26,20 +26,21 @@ **************************************************************************/ #include "dd_pipe.h" #include "util/u_dump.h" #include "util/u_format.h" #include "util/u_framebuffer.h" #include "util/u_helpers.h" #include "util/u_inlines.h" #include "util/u_memory.h" +#include "util/u_process.h" #include "tgsi/tgsi_parse.h" #include "tgsi/tgsi_scan.h" #include "util/os_time.h" #include <inttypes.h> #include "pipe/p_config.h" static void dd_write_header(FILE *f, struct pipe_screen *screen, unsigned apitrace_call_number) { @@ -995,20 +996,29 @@ dd_report_hang(struct dd_context *dctx) dd_kill_process(); } int dd_thread_main(void *input) { struct dd_context *dctx = (struct dd_context *)input; struct dd_screen *dscreen = dd_screen(dctx->base.screen); struct pipe_screen *screen = dscreen->screen; + const char *process_name = util_get_process_name(); + if (process_name) { + char threadname[16]; + util_snprintf(threadname, sizeof(threadname), "%.*s:ddbg", + (int)MIN2(strlen(process_name), sizeof(threadname) - 6), + process_name); + u_thread_setname(threadname); + } + mtx_lock(&dctx->mutex); for (;;) { struct list_head records; list_replace(&dctx->records, &records); list_inithead(&dctx->records); dctx->num_records = 0; if (dctx->api_stalled) cnd_signal(&dctx->cond); -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev