android: Add support for Android surface extension
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index ebeddd1..ec12f9d 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -1403,6 +1403,7 @@
'vkGetPhysicalDeviceSurfaceFormatsKHR',
'vkGetPhysicalDeviceSurfacePresentModesKHR',
'vkCreateXcbSurfaceKHR',
+ 'vkCreateAndroidSurfaceKHR',
'vkGetPhysicalDeviceXcbPresentationSupportKHR'])]
# TODO: Add cases for Mir, Wayland and Xlib
else: # android
@@ -1542,10 +1543,11 @@
'CreateGraphicsPipelines'
]
# TODO : This is hacky, need to make this a more general-purpose solution for all layers
- ifdef_dict = {'CreateXcbSurfaceKHR': 'VK_USE_PLATFORM_XCB_KHR'}
+ ifdef_dict = {'CreateXcbSurfaceKHR': 'VK_USE_PLATFORM_XCB_KHR', 'CreateAndroidSurfaceKHR': 'VK_USE_PLATFORM_ANDROID_KHR'}
# Give special treatment to create functions that return multiple new objects
# This dict stores array name and size of array
custom_create_dict = {'pDescriptorSets' : 'pAllocateInfo->descriptorSetCount'}
+ pre_call_txt += '%s\n' % (self.lineinfo.get())
if proto.name in explicit_object_tracker_functions:
funcs.append('%s%s\n'
'{\n'
@@ -1679,7 +1681,8 @@
'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
'vkGetPhysicalDeviceSurfaceFormatsKHR',
'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateXcbSurfaceKHR'
+ 'vkCreateXcbSurfaceKHR',
+ 'vkCreateAndroidSurfaceKHR'
])]
# TODO: Add cases for Mir, Wayland and Xlib
else: # android
diff --git a/vulkan.py b/vulkan.py
index 566a4fd..41378dd 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -1114,6 +1114,18 @@
Param("xcb_visualid_t", "visual_id")]),
],
)
+ext_khr_android_surface = Extension(
+ name="VK_KHR_android_surface",
+ headers=["vulkan/vulkan.h"],
+ objects=[],
+ protos=[
+ Proto("VkResult", "CreateAndroidSurfaceKHR",
+ [Param("VkInstance", "instance"),
+ Param("const VkAndroidSurfaceCreateInfoKHR*", "pCreateInfo"),
+ Param("const VkAllocationCallbacks*", "pAllocator"),
+ Param("VkSurfaceKHR*", "pSurface")]),
+ ],
+)
ext_khr_win32_surface = Extension(
name="VK_KHR_win32_surface",
headers=["vulkan/vulkan.h"],
@@ -1192,8 +1204,8 @@
extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface]
extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_win32_surface, lunarg_debug_report, lunarg_debug_marker]
else:
- extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface]
- extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface, lunarg_debug_report, lunarg_debug_marker]
+ extensions = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface, ext_khr_android_surface]
+ extensions_all = [core, ext_khr_surface, ext_khr_device_swapchain, ext_khr_xcb_surface, ext_khr_android_surface, lunarg_debug_report, lunarg_debug_marker]
object_dispatch_list = [
"VkInstance",