From 34d8b7d72bf2052dbbcfd41966d2a3de58a8d443 Mon Sep 17 00:00:00 2001 From: Michael Lentine Date: Wed, 2 Mar 2016 17:28:55 -0600 Subject: build: LVLPR65, Fix android extensions support in unique_objects --- layers/object_tracker.h | 2 ++ layers/unique_objects.h | 2 ++ vk-layer-generate.py | 44 ++++++++++++++++++++++++++++---------------- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/layers/object_tracker.h b/layers/object_tracker.h index db61f7a0..179d4bd4 100644 --- a/layers/object_tracker.h +++ b/layers/object_tracker.h @@ -150,6 +150,8 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo* pCreate uint32_t i; VkLayerInstanceDispatchTable *pDisp = get_dispatch_table(object_tracker_instance_table_map, instance); PFN_vkGetInstanceProcAddr gpa = pDisp->GetInstanceProcAddr; + + pDisp->DestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)gpa(instance, "vkDestroySurfaceKHR"); pDisp->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceSupportKHR"); pDisp->GetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"); pDisp->GetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR"); diff --git a/layers/unique_objects.h b/layers/unique_objects.h index 5dab3c8f..42c85d0d 100644 --- a/layers/unique_objects.h +++ b/layers/unique_objects.h @@ -79,6 +79,8 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo* pCreate uint32_t i; VkLayerInstanceDispatchTable *pDisp = get_dispatch_table(unique_objects_instance_table_map, instance); PFN_vkGetInstanceProcAddr gpa = pDisp->GetInstanceProcAddr; + + pDisp->DestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)gpa(instance, "vkDestroySurfaceKHR"); pDisp->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceSupportKHR"); pDisp->GetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"); pDisp->GetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR"); diff --git a/vk-layer-generate.py b/vk-layer-generate.py index 5fb4ee45..f3868b9f 100755 --- a/vk-layer-generate.py +++ b/vk-layer-generate.py @@ -1402,7 +1402,8 @@ class ObjectTrackerSubcommand(Subcommand): if self.wsi == 'Win32': instance_extensions=[('msg_callback_get_proc_addr', []), ('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', @@ -1411,24 +1412,27 @@ class ObjectTrackerSubcommand(Subcommand): elif self.wsi == 'Android': instance_extensions=[('msg_callback_get_proc_addr', []), ('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', - 'vkGetPhysicalDeviceSurfacePresentModesKHR'])] + 'vkGetPhysicalDeviceSurfacePresentModesKHR', + 'vkCreateAndroidSurfaceKHR'])] elif self.wsi == 'Xcb': instance_extensions=[('msg_callback_get_proc_addr', []), ('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', 'vkCreateXcbSurfaceKHR', - 'vkCreateAndroidSurfaceKHR', 'vkGetPhysicalDeviceXcbPresentationSupportKHR'])] elif self.wsi == 'Xlib': instance_extensions=[('msg_callback_get_proc_addr', []), ('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', @@ -1437,7 +1441,8 @@ class ObjectTrackerSubcommand(Subcommand): elif self.wsi == 'Wayland': instance_extensions=[('msg_callback_get_proc_addr', []), ('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', @@ -1446,7 +1451,8 @@ class ObjectTrackerSubcommand(Subcommand): elif self.wsi == 'Mir': instance_extensions=[('msg_callback_get_proc_addr', []), ('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', @@ -1720,7 +1726,8 @@ class UniqueObjectsSubcommand(Subcommand): 'vkAcquireNextImageKHR', 'vkQueuePresentKHR'])] if self.wsi == 'Win32': instance_extensions=[('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', @@ -1728,22 +1735,25 @@ class UniqueObjectsSubcommand(Subcommand): ])] elif self.wsi == 'Android': instance_extensions=[('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', - 'vkGetPhysicalDeviceSurfacePresentModesKHR'])] + 'vkGetPhysicalDeviceSurfacePresentModesKHR', + 'vkCreateAndroidSurfaceKHR'])] elif self.wsi == 'Xcb': instance_extensions=[('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', 'vkCreateXcbSurfaceKHR', - 'vkCreateAndroidSurfaceKHR' ])] elif self.wsi == 'Xlib': instance_extensions=[('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', @@ -1751,7 +1761,8 @@ class UniqueObjectsSubcommand(Subcommand): ])] elif self.wsi == 'Wayland': instance_extensions=[('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', @@ -1759,7 +1770,8 @@ class UniqueObjectsSubcommand(Subcommand): ])] else: #Mir instance_extensions=[('wsi_enabled', - ['vkGetPhysicalDeviceSurfaceSupportKHR', + ['vkDestroySurfaceKHR', + 'vkGetPhysicalDeviceSurfaceSupportKHR', 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR', 'vkGetPhysicalDeviceSurfaceFormatsKHR', 'vkGetPhysicalDeviceSurfacePresentModesKHR', -- cgit v1.2.3