Layers: They now compile on Windows.
Added missing vk funcs to basic and screenshot
Changed several funcs in mem_tracker to return void
Loader cmake file was generating .def file on linux, removed it
Fixed missing entry points in layers generated via python
diff --git a/layers/basic.cpp b/layers/basic.cpp
index aec3ea4..d1e7805 100644
--- a/layers/basic.cpp
+++ b/layers/basic.cpp
@@ -33,6 +33,15 @@
// being used:
#include "vk_loader_platform.h"
+static const VkLayerProperties globalLayerProps[] = {
+ {
+ "Basic",
+ VK_API_VERSION, // specVersion
+ VK_MAKE_VERSION(0, 1, 0), // implVersion
+ "layer: Basic",
+ }
+};
+
VK_LAYER_EXPORT VkResult VKAPI vkLayerExtension1(VkDevice device)
{
@@ -175,3 +184,13 @@
return NULL;
return instance_dispatch_table(instance)->GetInstanceProcAddr(instance, pName);
}
+
+VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalExtensionProperties(const char *pLayerName, uint32_t *pCount, VkExtensionProperties* pProperties)
+{
+ return util_GetExtensionProperties(0, NULL, pCount, pProperties);
+}
+
+VK_LAYER_EXPORT VkResult VKAPI vkGetGlobalLayerProperties(uint32_t *pCount, VkLayerProperties* pProperties)
+{
+ return util_GetLayerProperties(ARRAY_SIZE(globalLayerProps), globalLayerProps, pCount, pProperties);
+}
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index e6f23f9..3dc7fb8 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -254,7 +254,7 @@
// Verify that (actual & desired) flags != 0 or,
// if strict is true, verify that (actual & desired) flags == desired
// In case of error, report it via dbg callbacks
-static bool32_t validate_usage_flags(void* disp_obj, VkFlags actual, VkFlags desired,
+static void validate_usage_flags(void* disp_obj, VkFlags actual, VkFlags desired,
bool32_t strict, VkObject obj, VkObjectType obj_type,
char const* ty_str, char const* func_name, char const* usage_str)
{
@@ -272,7 +272,7 @@
// Helper function to validate usage flags for images
// Pulls image info and then sends actual vs. desired usage off to helper above where
// an error will be flagged if usage is not correct
-static bool32_t validate_image_usage_flags(void* disp_obj, VkImage image, VkFlags desired, bool32_t strict,
+static void validate_image_usage_flags(void* disp_obj, VkImage image, VkFlags desired, bool32_t strict,
char const* func_name, char const* usage_string)
{
MT_OBJ_INFO* pInfo = get_object_info(image);
@@ -284,7 +284,7 @@
// Helper function to validate usage flags for buffers
// Pulls buffer info and then sends actual vs. desired usage off to helper above where
// an error will be flagged if usage is not correct
-static bool32_t validate_buffer_usage_flags(void* disp_obj, VkBuffer buffer, VkFlags desired, bool32_t strict,
+static void validate_buffer_usage_flags(void* disp_obj, VkBuffer buffer, VkFlags desired, bool32_t strict,
char const* func_name, char const* usage_string)
{
MT_OBJ_INFO* pInfo = get_object_info(buffer);
diff --git a/layers/screenshot.cpp b/layers/screenshot.cpp
index 5b8c098..69b99f3 100644
--- a/layers/screenshot.cpp
+++ b/layers/screenshot.cpp
@@ -554,3 +554,25 @@
return NULL;
return pDisp->GetDeviceProcAddr(dev, funcName);
}
+
+
+VK_LAYER_EXPORT void* VKAPI vkGetInstanceProcAddr(VkInstance instance, const char* funcName)
+{
+ return NULL;
+#if 0
+ if (instance == VK_NULL_HANDLE) {
+ return NULL;
+ }
+
+ /* loader uses this to force layer initialization; instance object is wrapped */
+ if (!strcmp("vkGetInstanceProcAddr", funcName)) {
+ initInstanceTable((const VkBaseLayerObject *) instance);
+ return (void *) vkGetInstanceProcAddr;
+ }
+
+ VkLayerInstanceDispatchTable* pTable = instance_dispatch_table(instance);
+ if (pTable->GetInstanceProcAddr == NULL)
+ return NULL;
+ return pTable->GetInstanceProcAddr(instance, funcName);
+#endif
+}