From e36d1627547f2d7891b2d6ceb6a07db8cf0c07fe Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Fri, 12 Feb 2016 08:20:06 -0700 Subject: loader: For dev ext trampoline error code, add error logging --- loader/loader.c | 2 +- loader/loader.h | 3 +++ loader/table_ops.h | 9 ++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) (limited to 'loader') diff --git a/loader/loader.c b/loader/loader.c index 39e5ab00..108ce2c6 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -219,7 +219,7 @@ void loader_tls_heap_free(void *pMemory) { loader_heap_free(tls_instance, pMemory); } -static void loader_log(const struct loader_instance *inst, VkFlags msg_type, +void loader_log(const struct loader_instance *inst, VkFlags msg_type, int32_t msg_code, const char *format, ...) { char msg[512]; va_list ap; diff --git a/loader/loader.h b/loader/loader.h index 800f774d..06c8961f 100644 --- a/loader/loader.h +++ b/loader/loader.h @@ -386,6 +386,9 @@ struct loader_msg_callback_map_entry { VkDebugReportCallbackEXT loader_obj; }; +void loader_log(const struct loader_instance *inst, VkFlags msg_type, + int32_t msg_code, const char *format, ...); + bool compare_vk_extension_properties(const VkExtensionProperties *op1, const VkExtensionProperties *op2); diff --git a/loader/table_ops.h b/loader/table_ops.h index 261ad409..4bf8b410 100644 --- a/loader/table_ops.h +++ b/loader/table_ops.h @@ -37,7 +37,14 @@ #include "vk_loader_platform.h" static VkResult vkDevExtError(VkDevice dev) { - return VK_ERROR_INITIALIZATION_FAILED; + struct loader_device *found_dev; + struct loader_icd *icd = loader_get_icd_and_device(dev, &found_dev); + + if (icd) + loader_log(icd->this_instance, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, + "Bad destination in loader trampoline dispatch," + "Are layers and extensions that you are calling enabled?"); + return VK_ERROR_EXTENSION_NOT_PRESENT; } static inline void -- cgit v1.2.3