summaryrefslogtreecommitdiffstats
path: root/platform/macos/vulkan_context_macos.mm
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2023-12-19 12:48:02 +0100
committerPedro J. Estébanez <pedrojrulez@gmail.com>2023-12-20 19:18:08 +0100
commit12a519bae232e2e4a37a243a4050edaa0d802687 (patch)
tree0a0bdd4d2bc8ecf34b7382c08c5072bf2ee8001d /platform/macos/vulkan_context_macos.mm
parent0567c5df9f6fbd3f3237de38b36a8474a9a9b03b (diff)
downloadredot-engine-12a519bae232e2e4a37a243a4050edaa0d802687.tar.gz
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
Diffstat (limited to 'platform/macos/vulkan_context_macos.mm')
-rw-r--r--platform/macos/vulkan_context_macos.mm12
1 files changed, 6 insertions, 6 deletions
diff --git a/platform/macos/vulkan_context_macos.mm b/platform/macos/vulkan_context_macos.mm
index 46a2d9f86a..18c3bda39b 100644
--- a/platform/macos/vulkan_context_macos.mm
+++ b/platform/macos/vulkan_context_macos.mm
@@ -42,14 +42,14 @@ const char *VulkanContextMacOS::_get_platform_surface_extension() const {
return VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
}
-Error VulkanContextMacOS::window_create(DisplayServer::WindowID p_window_id, DisplayServer::VSyncMode p_vsync_mode, id p_window, int p_width, int p_height) {
- VkMacOSSurfaceCreateInfoMVK createInfo;
+Error VulkanContextMacOS::window_create(DisplayServer::WindowID p_window_id, DisplayServer::VSyncMode p_vsync_mode, int p_width, int p_height, const void *p_platform_data) {
+ const WindowPlatformData *wpd = (const WindowPlatformData *)p_platform_data;
+
+ VkMacOSSurfaceCreateInfoMVK createInfo = {};
createInfo.sType = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
- createInfo.pNext = nullptr;
- createInfo.flags = 0;
- createInfo.pView = (__bridge const void *)p_window;
+ createInfo.pView = (__bridge const void *)(*wpd->view_ptr);
- VkSurfaceKHR surface;
+ VkSurfaceKHR surface = VK_NULL_HANDLE;
VkResult err = vkCreateMacOSSurfaceMVK(get_instance(), &createInfo, nullptr, &surface);
ERR_FAIL_COND_V(err, ERR_CANT_CREATE);
return _window_create(p_window_id, p_vsync_mode, surface, p_width, p_height);