diff options
| author | Courtney Goeltzenleuchter <courtneygo@google.com> | 2015-12-01 14:08:28 -0700 |
|---|---|---|
| committer | Jon Ashburn <jon@lunarg.com> | 2015-12-17 11:20:06 -0700 |
| commit | f5970c76038ae09ef457ecf8a239c50e86cd789e (patch) | |
| tree | 4cd3ec3eebfbe78deb48518900830f8cfc3bd2e0 | |
| parent | edcff401e235512af036e8949399df4ee1c4b48e (diff) | |
| download | usermoji-f5970c76038ae09ef457ecf8a239c50e86cd789e.tar.xz | |
layers: export debug_report extension
Need the EnumerateInstanceExtensionProperties to report
support for the debug report extension as well as in
the json file because different platforms will use either
the json file (Windows & Linux) or the Enumerate call (Android).
| -rw-r--r-- | layers/device_limits.cpp | 5 | ||||
| -rw-r--r-- | layers/draw_state.cpp | 20 | ||||
| -rw-r--r-- | layers/image.cpp | 20 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 20 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 20 | ||||
| -rw-r--r-- | layers/swapchain.cpp | 38 |
6 files changed, 92 insertions, 31 deletions
diff --git a/layers/device_limits.cpp b/layers/device_limits.cpp index c7df462e..25beadec 100644 --- a/layers/device_limits.cpp +++ b/layers/device_limits.cpp @@ -147,20 +147,19 @@ static void init_device_limits(layer_data *my_data, const VkAllocationCallbacks } } -static const VkExtensionProperties dl_physicaldevice_extensions[] = { +static const VkExtensionProperties instance_extensions[] = { { VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME, VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION } }; -/* DeviceLimits does not have any global extensions */ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( const char *pLayerName, uint32_t *pCount, VkExtensionProperties* pProperties) { - return util_GetExtensionProperties(1, dl_physicaldevice_extensions, pCount, pProperties); + return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties); } static const VkLayerProperties dl_global_layers[] = { diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index c2afbdc6..2cafc404 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -2713,12 +2713,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(VkDevice device, cons layer_data_map.erase(key); } -static const VkLayerProperties ds_global_layers[] = { +static const VkExtensionProperties instance_extensions[] = { { - "DrawState", - VK_API_VERSION, - VK_MAKE_VERSION(0, 1, 0), - "Validation layer: DrawState", + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME, + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION } }; @@ -2727,10 +2725,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope uint32_t *pCount, VkExtensionProperties* pProperties) { - /* DrawState does not have any global extensions */ - return util_GetExtensionProperties(0, NULL, pCount, pProperties); + return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties); } +static const VkLayerProperties ds_global_layers[] = { + { + "DrawState", + VK_API_VERSION, + VK_MAKE_VERSION(0, 1, 0), + "Validation layer: DrawState", + } +}; + VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( uint32_t *pCount, VkLayerProperties* pProperties) diff --git a/layers/image.cpp b/layers/image.cpp index cde964af..614f9d54 100644 --- a/layers/image.cpp +++ b/layers/image.cpp @@ -190,12 +190,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(VkDevice device, cons layer_data_map.erase(key); } -static const VkLayerProperties pc_global_layers[] = { +static const VkExtensionProperties instance_extensions[] = { { - "Image", - VK_API_VERSION, - VK_MAKE_VERSION(0, 1, 0), - "Validation layer: Image ParamChecker", + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME, + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION } }; @@ -204,10 +202,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope uint32_t *pCount, VkExtensionProperties* pProperties) { - // ParamChecker does not have any global extensions - return util_GetExtensionProperties(0, NULL, pCount, pProperties); + return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties); } +static const VkLayerProperties pc_global_layers[] = { + { + "Image", + VK_API_VERSION, + VK_MAKE_VERSION(0, 1, 0), + "Validation layer: Image ParamChecker", + } +}; + VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( uint32_t *pCount, VkLayerProperties* pProperties) diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 62a78ba8..c77f1cd9 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -1180,12 +1180,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( memcpy(&memProps, pMemoryProperties, sizeof(VkPhysicalDeviceMemoryProperties)); } -static const VkLayerProperties mtGlobalLayers[] = { +static const VkExtensionProperties instance_extensions[] = { { - "MemTracker", - VK_API_VERSION, - VK_MAKE_VERSION(0, 1, 0), - "Validation layer: MemTracker", + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME, + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION } }; @@ -1194,10 +1192,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope uint32_t *pCount, VkExtensionProperties *pProperties) { - /* Mem tracker does not have any global extensions */ - return util_GetExtensionProperties(0, NULL, pCount, pProperties); + return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties); } +static const VkLayerProperties mtGlobalLayers[] = { + { + "MemTracker", + VK_API_VERSION, + VK_MAKE_VERSION(0, 1, 0), + "Validation layer: MemTracker", + } +}; + VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( uint32_t *pCount, VkLayerProperties *pProperties) diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 0514bf18..6f023753 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -150,12 +150,10 @@ VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackLUNARG( layer_destroy_msg_callback(data->report_data, msgCallback, pAllocator); } -static const VkLayerProperties pc_global_layers[] = { +static const VkExtensionProperties instance_extensions[] = { { - "ParamChecker", - VK_API_VERSION, - VK_MAKE_VERSION(0, 1, 0), - "Validation layer: ParamChecker", + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME, + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION } }; @@ -164,10 +162,18 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPrope uint32_t *pCount, VkExtensionProperties* pProperties) { - /* ParamChecker does not have any global extensions */ - return util_GetExtensionProperties(0, NULL, pCount, pProperties); + return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties); } +static const VkLayerProperties pc_global_layers[] = { + { + "ParamChecker", + VK_API_VERSION, + VK_MAKE_VERSION(0, 1, 0), + "Validation layer: ParamChecker", + } +}; + VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( uint32_t *pCount, VkLayerProperties* pProperties) diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp index 2b8ed24c..609f44e6 100644 --- a/layers/swapchain.cpp +++ b/layers/swapchain.cpp @@ -41,6 +41,39 @@ template layer_data *get_my_data_ptr<layer_data>( void *data_key, std::unordered_map<void *, layer_data *> &data_map); +static const VkExtensionProperties instance_extensions[] = { + { + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME, + VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_REVISION + } +}; + +VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( + const char *pLayerName, + uint32_t *pCount, + VkExtensionProperties* pProperties) +{ + return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties); +} + +static const VkLayerProperties swapchain_global_layers[] = { + { + "Swapchain", + VK_API_VERSION, + VK_MAKE_VERSION(0, 1, 0), + "Validation layer: Swapchain", + } +}; + +VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( + uint32_t *pCount, + VkLayerProperties* pProperties) +{ + return util_GetLayerProperties(ARRAY_SIZE(swapchain_global_layers), + swapchain_global_layers, + pCount, pProperties); +} + static void createDeviceRegisterExtensions(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, VkDevice device) { @@ -1204,6 +1237,11 @@ VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(V return (PFN_vkVoidFunction) vkGetInstanceProcAddr; } + if (!strcmp(funcName, "vkEnumerateInstanceLayerProperties")) + return (PFN_vkVoidFunction) vkEnumerateInstanceLayerProperties; + if (!strcmp(funcName, "vkEnumerateInstanceExtensionProperties")) + return (PFN_vkVoidFunction) vkEnumerateInstanceExtensionProperties; + addr = layer_intercept_instance_proc(funcName); if (addr) return addr; |
