aboutsummaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2016-02-12 08:20:06 -0700
committerJon Ashburn <jon@lunarg.com>2016-02-14 09:24:31 -0700
commite36d1627547f2d7891b2d6ceb6a07db8cf0c07fe (patch)
treeb0fcedffd98ca0b218ac6f8f7d5a92807a2ee92a /loader
parent696fc84da25c5458bf188fc9b30b8a9e42f2b1b2 (diff)
downloadusermoji-e36d1627547f2d7891b2d6ceb6a07db8cf0c07fe.tar.xz
loader: For dev ext trampoline error code, add error logging
Diffstat (limited to 'loader')
-rw-r--r--loader/loader.c2
-rw-r--r--loader/loader.h3
-rw-r--r--loader/table_ops.h9
3 files changed, 12 insertions, 2 deletions
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