diff options
author | Jose Fonseca <[email protected]> | 2015-02-13 13:51:28 +0000 |
---|---|---|
committer | Jose Fonseca <[email protected]> | 2015-02-13 19:42:21 +0000 |
commit | c944b91190048e370d2adc362f0860d9f58e58f2 (patch) | |
tree | 10095c3578952838a240bb6028cd51ab204e6561 /src/gallium/drivers | |
parent | b09f25428ff5e908aefc03b8f9931599c3afd6d2 (diff) |
os,llvmpipe: Set rasterizer thread names on Linux.
To help identify llvmpipe rasterizer threads -- especially when there
can be so many.
We can eventually generalize this to other OSes, but for that we must
restrict the function to be called from the current thread. See also
http://stackoverflow.com/a/7989973
Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_rast.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c index e168766e348..903e7c51002 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.c +++ b/src/gallium/drivers/llvmpipe/lp_rast.c @@ -31,6 +31,7 @@ #include "util/u_rect.h" #include "util/u_surface.h" #include "util/u_pack_color.h" +#include "util/u_string.h" #include "os/os_time.h" @@ -747,11 +748,16 @@ static PIPE_THREAD_ROUTINE( thread_function, init_data ) struct lp_rasterizer_task *task = (struct lp_rasterizer_task *) init_data; struct lp_rasterizer *rast = task->rast; boolean debug = false; - unsigned fpstate = util_fpstate_get(); + char thread_name[16]; + unsigned fpstate; + + util_snprintf(thread_name, sizeof thread_name, "llvmpipe-%u", task->thread_index); + pipe_thread_setname(thread_name); /* Make sure that denorms are treated like zeros. This is * the behavior required by D3D10. OpenGL doesn't care. */ + fpstate = util_fpstate_get(); util_fpstate_set_denorms_to_zero(fpstate); while (1) { |