Added WSI KHR_display support to validation
Add support for this extension to object_tracker and swapchain layers.
Change-Id: Ifdf6095958a9d9d01720fde92e0bbd0a8a9a3216
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index 5a5e6a1..14354df 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -44,6 +44,7 @@
"EnumerateInstanceExtensionProperties",
"EnumerateDeviceLayerProperties",
"EnumerateDeviceExtensionProperties",
+ "CreateDisplayPlaneSurfaceKHR",
"CreateXcbSurfaceKHR",
"GetPhysicalDeviceXcbPresentationSupportKHR",
"CreateXlibSurfaceKHR",
@@ -1198,6 +1199,7 @@
'AcquireNextImageKHR' : ['fence', 'semaphore' ],
'UpdateDescriptorSets' : ['pTexelBufferView'],
'CreateSwapchainKHR' : ['oldSwapchain'],
+ 'CreateDisplayModeKHR': ['pAllocator'],
}
param_count = 'NONE' # keep track of arrays passed directly into API functions
for p in proto.params:
@@ -1264,7 +1266,7 @@
'}' % (qual, decl, proto.c_call()))
return "".join(funcs)
# Temporarily prevent DestroySurface call from being generated until WSI layer support is fleshed out
- elif 'DestroyInstance' in proto.name or 'DestroyDevice' in proto.name:
+ elif 'DestroyInstance' in proto.name or 'DestroyDevice' in proto.name or 'CreateDisplayModeKHR' in proto.name:
return ""
else:
if create_func:
@@ -1355,34 +1357,27 @@
['vkCreateSwapchainKHR',
'vkDestroySwapchainKHR', 'vkGetSwapchainImagesKHR',
'vkAcquireNextImageKHR', 'vkQueuePresentKHR'])]
+ additional_instance_extensions = [
+ 'vkDestroySurfaceKHR',
+ 'vkGetPhysicalDeviceSurfaceSupportKHR',
+ 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+ 'vkGetPhysicalDeviceSurfaceFormatsKHR',
+ 'vkGetPhysicalDeviceSurfacePresentModesKHR',
+ 'vkCreateDisplayPlaneSurfaceKHR',
+ ]
if self.wsi == 'Win32':
instance_extensions=[('msg_callback_get_proc_addr', []),
('wsi_enabled',
- ['vkDestroySurfaceKHR',
- 'vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateWin32SurfaceKHR',
- 'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]
+ ['vkCreateWin32SurfaceKHR',
+ 'vkGetPhysicalDeviceWin32PresentationSupportKHR'] + additional_instance_extensions)]
elif self.wsi == 'Android':
instance_extensions=[('msg_callback_get_proc_addr', []),
('wsi_enabled',
- ['vkDestroySurfaceKHR',
- 'vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateAndroidSurfaceKHR'])]
+ ['vkCreateAndroidSurfaceKHR'] + additional_instance_extensions)]
elif self.wsi == 'Xcb' or self.wsi == 'Xlib' or self.wsi == 'Wayland' or self.wsi == 'Mir':
instance_extensions=[('msg_callback_get_proc_addr', []),
('wsi_enabled',
- ['vkDestroySurfaceKHR',
- 'vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateXcbSurfaceKHR',
+ additional_instance_extensions + ['vkCreateXcbSurfaceKHR',
'vkGetPhysicalDeviceXcbPresentationSupportKHR',
'vkCreateXlibSurfaceKHR',
'vkGetPhysicalDeviceXlibPresentationSupportKHR',
@@ -1671,31 +1666,23 @@
['vkCreateSwapchainKHR',
'vkDestroySwapchainKHR', 'vkGetSwapchainImagesKHR',
'vkAcquireNextImageKHR', 'vkQueuePresentKHR'])]
+ additional_instance_extensions = [
+ 'vkDestroySurfaceKHR',
+ 'vkGetPhysicalDeviceSurfaceSupportKHR',
+ 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+ 'vkGetPhysicalDeviceSurfaceFormatsKHR',
+ 'vkGetPhysicalDeviceSurfacePresentModesKHR',
+ 'vkCreateDisplayPlaneSurfaceKHR']
if self.wsi == 'Win32':
instance_extensions=[('wsi_enabled',
- ['vkDestroySurfaceKHR',
- 'vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateWin32SurfaceKHR'
- ])]
+ additional_instance_extensions + ['vkCreateWin32SurfaceKHR'])]
elif self.wsi == 'Android':
instance_extensions=[('wsi_enabled',
- ['vkDestroySurfaceKHR',
- 'vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateAndroidSurfaceKHR'])]
+ additional_instance_extensions + ['vkCreateAndroidSurfaceKHR'])]
elif self.wsi == 'Xcb' or self.wsi == 'Xlib' or self.wsi == 'Wayland' or self.wsi == 'Mir':
instance_extensions=[('wsi_enabled',
- ['vkDestroySurfaceKHR',
- 'vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateXcbSurfaceKHR',
+ additional_instance_extensions +
+ ['vkCreateXcbSurfaceKHR',
'vkCreateXlibSurfaceKHR',
'vkCreateWaylandSurfaceKHR',
'vkCreateMirSurfaceKHR'