diff options
| author | David Pinedo <david@lunarg.com> | 2015-07-09 16:23:44 -0600 |
|---|---|---|
| committer | David Pinedo <david@lunarg.com> | 2015-07-09 16:23:44 -0600 |
| commit | ed008740ee2398e1527abb1cae9da804bfd88441 (patch) | |
| tree | 246f0eb621e0d4b6e9531e6dd6d47e0d3fba8a10 /layers | |
| parent | 9363b4932bae44a1ec7aa661408be8d58ac27608 (diff) | |
| download | usermoji-ed008740ee2398e1527abb1cae9da804bfd88441.tar.xz | |
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
Diffstat (limited to 'layers')
| -rw-r--r-- | layers/basic.cpp | 19 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 6 | ||||
| -rw-r--r-- | layers/screenshot.cpp | 22 |
3 files changed, 44 insertions, 3 deletions
diff --git a/layers/basic.cpp b/layers/basic.cpp index aec3ea41..d1e78059 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 @@ VK_LAYER_EXPORT void * VKAPI vkGetInstanceProcAddr(VkInstance instance, const ch 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 e6f23f90..3dc7fb83 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -254,7 +254,7 @@ static void retire_device_fences( // 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 @@ static bool32_t validate_usage_flags(void* disp_obj, VkFlags actual, VkFlags des // 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 @@ static bool32_t validate_image_usage_flags(void* disp_obj, VkImage image, VkFlag // 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 5b8c0984..69b99f3a 100644 --- a/layers/screenshot.cpp +++ b/layers/screenshot.cpp @@ -554,3 +554,25 @@ VK_LAYER_EXPORT void* VKAPI vkGetDeviceProcAddr( 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 +} |
