From b499c54af4dadf58e96351ce7e878742ddeaabae Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 23 Jul 2024 08:17:22 -0700 Subject: [PATCH] Fixed testvulkan on macOS (thanks @proton991!) Fixes https://github.com/libsdl-org/SDL/issues/10351 --- src/video/cocoa/SDL_cocoavulkan.m | 2 +- test/testvulkan.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/video/cocoa/SDL_cocoavulkan.m b/src/video/cocoa/SDL_cocoavulkan.m index cb8236fae0..62929fd2ea 100644 --- a/src/video/cocoa/SDL_cocoavulkan.m +++ b/src/video/cocoa/SDL_cocoavulkan.m @@ -165,7 +165,7 @@ char const* const* Cocoa_Vulkan_GetInstanceExtensions(SDL_VideoDevice *_this, Uint32 *count) { static const char *const extensionsForCocoa[] = { - VK_KHR_SURFACE_EXTENSION_NAME, VK_EXT_METAL_SURFACE_EXTENSION_NAME + VK_KHR_SURFACE_EXTENSION_NAME, VK_EXT_METAL_SURFACE_EXTENSION_NAME, VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME }; if(count) { *count = SDL_arraysize(extensionsForCocoa); diff --git a/test/testvulkan.c b/test/testvulkan.c index 2fbac6ce25..4b07a58711 100644 --- a/test/testvulkan.c +++ b/test/testvulkan.c @@ -228,6 +228,9 @@ static void createInstance(void) appInfo.apiVersion = VK_API_VERSION_1_0; instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; instanceCreateInfo.pApplicationInfo = &appInfo; +#ifdef __APPLE__ + instanceCreateInfo.flags = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR; +#endif instanceCreateInfo.ppEnabledExtensionNames = SDL_Vulkan_GetInstanceExtensions(&instanceCreateInfo.enabledExtensionCount); result = vkCreateInstance(&instanceCreateInfo, NULL, &vulkanContext->instance); @@ -445,6 +448,9 @@ static void createDevice(void) VkDeviceCreateInfo deviceCreateInfo = { 0 }; static const char *const deviceExtensionNames[] = { VK_KHR_SWAPCHAIN_EXTENSION_NAME, +#ifdef __APPLE__ + "VK_KHR_portability_subset" +#endif }; VkResult result;