Compare commits
4 Commits
4a9ec8107d
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
03c4ea27ff
|
|||
|
0af8fa0421
|
|||
|
694ae8db31
|
|||
|
3dedeb3413
|
130
kvf.h
130
kvf.h
@@ -351,6 +351,42 @@ int32_t kvfFindMemoryType(VkPhysicalDevice physical_device, uint32_t type_filter
|
|||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceSurfaceFormatsKHR);
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceSurfaceFormatsKHR);
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceSurfacePresentModesKHR);
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceSurfacePresentModesKHR);
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceSurfaceSupportKHR);
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceSurfaceSupportKHR);
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
||||||
|
#ifdef VK_KHR_android_surface
|
||||||
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateAndroidSurfaceKHR);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||||
|
#ifdef VK_KHR_xcb_surface
|
||||||
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateXcbSurfaceKHR);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
||||||
|
#ifdef VK_KHR_xlib_surface
|
||||||
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateXlibSurfaceKHR);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||||
|
#ifdef VK_KHR_wayland_surface
|
||||||
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateWaylandSurfaceKHR);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||||
|
#ifdef VK_KHR_win32_surface
|
||||||
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateWin32SurfaceKHR);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_METAL_EXT
|
||||||
|
#ifdef VK_EXT_metal_surface
|
||||||
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateMetalSurfaceEXT);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -412,46 +448,6 @@ int32_t kvfFindMemoryType(VkPhysicalDevice physical_device, uint32_t type_filter
|
|||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkDestroySwapchainKHR);
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkDestroySwapchainKHR);
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetSwapchainImagesKHR);
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetSwapchainImagesKHR);
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkQueuePresentKHR);
|
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkQueuePresentKHR);
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
|
||||||
#ifdef VK_KHR_android_surface
|
|
||||||
AK_VULKAN_INSTANCE_FUNCTION(vkCreateAndroidSurfaceKHR)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
|
||||||
#ifdef VK_KHR_xcb_surface
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateXcbSurfaceKHR)
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceXcbPresentationSupportKHR)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
|
||||||
#ifdef VK_KHR_xlib_surface
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateXlibSurfaceKHR)
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceXlibPresentationSupportKHR)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
|
||||||
#ifdef VK_KHR_wayland_surface
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateWaylandSurfaceKHR)
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceWaylandPresentationSupportKHR)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
|
||||||
#ifdef VK_KHR_win32_surface
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateWin32SurfaceKHR)
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkGetPhysicalDeviceWin32PresentationSupportKHR)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_METAL_EXT
|
|
||||||
#ifdef VK_EXT_metal_surface
|
|
||||||
KVF_DEFINE_VULKAN_FUNCTION_PROTOTYPE(vkCreateMetalSurfaceEXT)
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
@@ -2219,83 +2215,83 @@ void kvfDestroySemaphore(VkDevice device, VkSemaphore semaphore)
|
|||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
||||||
case: KVF_SURFACE_ANDROID:
|
case KVF_SURFACE_ANDROID:
|
||||||
{
|
{
|
||||||
VkAndroidSurfaceCreateInfoKHR create_info = {0};
|
VkAndroidSurfaceCreateInfoKHR create_info = {};
|
||||||
create_info.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
|
create_info.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
|
||||||
create_info.pNext = nullptr;
|
create_info.pNext = nullptr;
|
||||||
create_info.flags = 0;
|
create_info.flags = 0;
|
||||||
create_info.window = (ANativeWindow*)window_handle;
|
create_info.window = (ANativeWindow*)window_handle;
|
||||||
kvfCheckVk(KVF_GET_DEVICE_FUNCTION(vkCreateAndroidSurfaceKHR)(instance, &create_info, NULL, &surface));
|
kvfCheckVk(KVF_GET_INSTANCE_FUNCTION(vkCreateAndroidSurfaceKHR)(instance, &create_info, NULL, &surface));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
||||||
case: KVF_SURFACE_XLIB:
|
case KVF_SURFACE_XLIB:
|
||||||
{
|
{
|
||||||
VkXlibSurfaceCreateInfoKHR create_info = {0};
|
VkXlibSurfaceCreateInfoKHR create_info = {};
|
||||||
create_info.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
|
create_info.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
|
||||||
create_info.pNext = nullptr;
|
create_info.pNext = nullptr;
|
||||||
create_info.flags = 0;
|
create_info.flags = 0;
|
||||||
create_info.dpy = (Display*)instance_handle;
|
create_info.dpy = (Display*)instance_handle;
|
||||||
create_info.window = *(Window*)window_handle;
|
create_info.window = *(Window*)window_handle;
|
||||||
kvfCheckVk(KVF_GET_DEVICE_FUNCTION(vkCreateXlibSurfaceKHR)(instance, &create_info, NULL, &surface));
|
kvfCheckVk(KVF_GET_INSTANCE_FUNCTION(vkCreateXlibSurfaceKHR)(instance, &create_info, NULL, &surface));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
#ifdef VK_USE_PLATFORM_XCB_KHR
|
||||||
case: KVF_SURFACE_XCB:
|
case KVF_SURFACE_XCB:
|
||||||
{
|
{
|
||||||
VkXcbSurfaceCreateInfoKHR create_info = {0};
|
VkXcbSurfaceCreateInfoKHR create_info = {};
|
||||||
create_info.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
|
create_info.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
|
||||||
create_info.pNext = nullptr;
|
create_info.pNext = nullptr;
|
||||||
create_info.flags = 0;
|
create_info.flags = 0;
|
||||||
create_info.connection = (xcb_connection_t*)instance_handle;
|
create_info.connection = (xcb_connection_t*)instance_handle;
|
||||||
create_info.window = (*xcb_window_t*)window_handle;
|
create_info.window = (*xcb_window_t*)window_handle;
|
||||||
kvfCheckVk(KVF_GET_DEVICE_FUNCTION(vkCreateXcbSurfaceKHR)(instance, &create_info, NULL, &surface));
|
kvfCheckVk(KVF_GET_INSTANCE_FUNCTION(vkCreateXcbSurfaceKHR)(instance, &create_info, NULL, &surface));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
||||||
case: KVF_SURFACE_WAYLAND:
|
case KVF_SURFACE_WAYLAND:
|
||||||
{
|
{
|
||||||
VkWaylandSurfaceCreateInfoKHR create_info = {0};
|
VkWaylandSurfaceCreateInfoKHR create_info = {};
|
||||||
create_info.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
|
create_info.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
|
||||||
create_info.pNext = nullptr;
|
create_info.pNext = nullptr;
|
||||||
create_info.flags = 0;
|
create_info.flags = 0;
|
||||||
create_info.display = (wl_display*)instance_handle;
|
create_info.display = (wl_display*)instance_handle;
|
||||||
create_info.surface = (wl_surface*)window_handle;
|
create_info.surface = (wl_surface*)window_handle;
|
||||||
kvfCheckVk(KVF_GET_DEVICE_FUNCTION(vkCreateWaylandSurfaceKHR)(instance, &create_info, NULL, &surface));
|
kvfCheckVk(KVF_GET_INSTANCE_FUNCTION(vkCreateWaylandSurfaceKHR)(instance, &create_info, NULL, &surface));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
||||||
case: KVF_SURFACE_WINDOWS:
|
case KVF_SURFACE_WINDOWS:
|
||||||
{
|
{
|
||||||
VkWin32SurfaceCreateInfoKHR create_info = {0};
|
VkWin32SurfaceCreateInfoKHR create_info = {};
|
||||||
create_info.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
|
create_info.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
|
||||||
create_info.pNext = nullptr;
|
create_info.pNext = nullptr;
|
||||||
create_info.flags = 0;
|
create_info.flags = 0;
|
||||||
create_info.hinstance = (HINSTANCE)instance_handle;
|
create_info.hinstance = (HINSTANCE)instance_handle;
|
||||||
create_info.hwnd = (HWND)window_handle;
|
create_info.hwnd = (HWND)window_handle;
|
||||||
kvfCheckVk(KVF_GET_DEVICE_FUNCTION(vkCreateWin32SurfaceKHR)(instance, &create_info, NULL, &surface));
|
kvfCheckVk(KVF_GET_INSTANCE_FUNCTION(vkCreateWin32SurfaceKHR)(instance, &create_info, NULL, &surface));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_METAL_EXT
|
#ifdef VK_USE_PLATFORM_METAL_EXT
|
||||||
case: KVF_SURFACE_METAL:
|
case KVF_SURFACE_METAL:
|
||||||
{
|
{
|
||||||
VkMetalSurfaceCreateInfoEXT create_info = {0};
|
VkMetalSurfaceCreateInfoEXT create_info = {};
|
||||||
create_info.sType = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_KHR;
|
create_info.sType = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
|
||||||
create_info.pNext = nullptr;
|
create_info.pNext = nullptr;
|
||||||
create_info.flags = 0;
|
create_info.flags = 0;
|
||||||
create_info.pLayer = (CAMetalLayer*)window_handle;
|
create_info.pLayer = (CAMetalLayer*)window_handle;
|
||||||
kvfCheckVk(KVF_GET_DEVICE_FUNCTION(vkCreateMetalSurfaceEXT)(instance, &create_info, NULL, &surface));
|
kvfCheckVk(KVF_GET_INSTANCE_FUNCTION(vkCreateMetalSurfaceEXT)(instance, &create_info, NULL, &surface));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user