util/u_process: add MESA_PROCESS_NAME override to util_get_process_name()
Allow processes to set a custom process name before loading drivers. Especially useful for virtualized workloads hidden behind a generically-named host renderer process (e.g. Venus render_server) to retain game-specific driconf option matching. Signed-off-by: Ryan Neph <ryanneph@google.com> Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20779>
This commit is contained in:
@@ -86,6 +86,12 @@ Core Mesa environment variables
|
|||||||
print error and performance messages to stderr (or
|
print error and performance messages to stderr (or
|
||||||
``MESA_LOG_FILE``).
|
``MESA_LOG_FILE``).
|
||||||
|
|
||||||
|
.. envvar:: MESA_PROCESS_NAME
|
||||||
|
|
||||||
|
if set, overrides the process name string used internally for various
|
||||||
|
purposes (e.g. for driconf option matching, logging, artifact storage,
|
||||||
|
etc.).
|
||||||
|
|
||||||
.. envvar:: MESA_LOG_FILE
|
.. envvar:: MESA_LOG_FILE
|
||||||
|
|
||||||
specifies a file name for logging all errors, warnings, etc., rather
|
specifies a file name for logging all errors, warnings, etc., rather
|
||||||
|
@@ -206,10 +206,11 @@ free_program_name(void)
|
|||||||
static void
|
static void
|
||||||
util_get_process_name_callback(void)
|
util_get_process_name_callback(void)
|
||||||
{
|
{
|
||||||
program_name = __getProgramName();
|
const char *override_name = os_get_option("MESA_PROCESS_NAME");
|
||||||
if (program_name) {
|
program_name = override_name ? strdup(override_name) : __getProgramName();
|
||||||
|
|
||||||
|
if (program_name)
|
||||||
atexit(free_program_name);
|
atexit(free_program_name);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
|
Reference in New Issue
Block a user