From 32143bc255ea296bd54f0380acb92c6a17ef7075 Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Thu, 18 Dec 2014 17:00:52 -0700 Subject: loader: Make sure msg callbacks get registered if added before initAndEnumGpu Fix bug where xglDbgRegisterMsgCallback wasn't working if called prior to xglInitAndEnumerateGpus. --- loader/loader.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'loader/loader.c') diff --git a/loader/loader.c b/loader/loader.c index 7229cf0a..87730bee 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -288,13 +288,6 @@ static struct loader_icd *loader_icd_add(const char *filename) if (!icd) return NULL; - if (loader_icd_set_global_options(icd) != XGL_SUCCESS || - loader_icd_register_msg_callbacks(icd) != XGL_SUCCESS) { - loader_log(XGL_DBG_MSG_WARNING, 0, - "%s ignored: failed to migrate settings", filename); - loader_icd_destroy(icd); - } - /* prepend to the list */ icd->next = loader.icds; loader.icds = icd; @@ -364,8 +357,6 @@ static void loader_icd_scan(void) } } - /* we have nothing to log anymore */ - loader_msg_callback_clear(); loader.scanned = true; } @@ -1175,6 +1166,12 @@ LOADER_EXPORT XGL_RESULT XGLAPI xglInitAndEnumerateGpus(const XGL_APPLICATION_IN *disp = icd->loader_dispatch + i; } + if (loader_icd_set_global_options(icd) != XGL_SUCCESS || + loader_icd_register_msg_callbacks(icd) != XGL_SUCCESS) { + loader_log(XGL_DBG_MSG_WARNING, 0, + "ICD ignored: failed to migrate settings"); + loader_icd_destroy(icd); + } count += n; if (count >= maxGpus) { @@ -1185,6 +1182,9 @@ LOADER_EXPORT XGL_RESULT XGLAPI xglInitAndEnumerateGpus(const XGL_APPLICATION_IN icd = icd->next; } + /* we have nothing to log anymore */ + loader_msg_callback_clear(); + /* get layer libraries */ if (!loader.layer_scanned) layer_lib_scan(NULL); -- cgit v1.2.3