diff options
| author | Lenny Komow <lenny@lunarg.com> | 2018-02-22 11:54:18 -0700 |
|---|---|---|
| committer | Mike Schuchardt <mikes@lunarg.com> | 2018-03-09 13:54:31 -0700 |
| commit | fc42138a3ce3337dda95b2739a2f05140fc05bfd (patch) | |
| tree | 1c5e42e8a94ac24673df6517fe9fd8cc3c352c56 | |
| parent | 7e59e52a997d0d98bea3e140b4ca2d19b38666d4 (diff) | |
| download | usermoji-fc42138a3ce3337dda95b2739a2f05140fc05bfd.tar.xz | |
loader: Fix debug_report not returning NULL
Fix a bug where debug_report would be treated as an unknown extension
if it was used without being enabled.
| -rw-r--r-- | loader/debug_utils.c | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/loader/debug_utils.c b/loader/debug_utils.c index 36891319..1a10edce 100644 --- a/loader/debug_utils.c +++ b/loader/debug_utils.c @@ -891,29 +891,25 @@ bool debug_utils_InstanceGpa(struct loader_instance *ptr_instance, const char *n *addr = NULL; - if (ptr_instance->enabled_known_extensions.ext_debug_report == 1) { - if (!strcmp("vkCreateDebugReportCallbackEXT", name)) { - *addr = (void *)debug_utils_CreateDebugReportCallbackEXT; - ret_type = true; - } else if (!strcmp("vkDestroyDebugReportCallbackEXT", name)) { - *addr = (void *)debug_utils_DestroyDebugReportCallbackEXT; - ret_type = true; - } else if (!strcmp("vkDebugReportMessageEXT", name)) { - *addr = (void *)debug_utils_DebugReportMessageEXT; - return true; - } - } - if (ptr_instance->enabled_known_extensions.ext_debug_utils == 1) { - if (!strcmp("vkCreateDebugUtilsMessengerEXT", name)) { - *addr = (void *)debug_utils_CreateDebugUtilsMessengerEXT; - ret_type = true; - } else if (!strcmp("vkDestroyDebugUtilsMessengerEXT", name)) { - *addr = (void *)debug_utils_DestroyDebugUtilsMessengerEXT; - ret_type = true; - } else if (!strcmp("vkSubmitDebugUtilsMessageEXT", name)) { - *addr = (void *)debug_utils_SubmitDebugUtilsMessageEXT; - ret_type = true; - } + if (!strcmp("vkCreateDebugReportCallbackEXT", name)) { + *addr = ptr_instance->enabled_known_extensions.ext_debug_report == 1 ? (void *)debug_utils_CreateDebugReportCallbackEXT : NULL; + ret_type = true; + } else if (!strcmp("vkDestroyDebugReportCallbackEXT", name)) { + *addr = ptr_instance->enabled_known_extensions.ext_debug_report == 1 ? (void *)debug_utils_DestroyDebugReportCallbackEXT : NULL; + ret_type = true; + } else if (!strcmp("vkDebugReportMessageEXT", name)) { + *addr = ptr_instance->enabled_known_extensions.ext_debug_report == 1 ? (void *)debug_utils_DebugReportMessageEXT : NULL; + return true; + } + if (!strcmp("vkCreateDebugUtilsMessengerEXT", name)) { + *addr = ptr_instance->enabled_known_extensions.ext_debug_utils == 1 ? (void *)debug_utils_CreateDebugUtilsMessengerEXT : NULL; + ret_type = true; + } else if (!strcmp("vkDestroyDebugUtilsMessengerEXT", name)) { + *addr = ptr_instance->enabled_known_extensions.ext_debug_utils == 1 ? (void *)debug_utils_DestroyDebugUtilsMessengerEXT : NULL; + ret_type = true; + } else if (!strcmp("vkSubmitDebugUtilsMessageEXT", name)) { + *addr = ptr_instance->enabled_known_extensions.ext_debug_utils == 1 ? (void *)debug_utils_SubmitDebugUtilsMessageEXT : NULL; + ret_type = true; } return ret_type; |
