Fixed testvulkan on macOS (thanks @proton991!)

Fixes https://github.com/libsdl-org/SDL/issues/10351
This commit is contained in:
Sam Lantinga 2024-07-23 08:17:22 -07:00
parent 5c00e54073
commit b499c54af4
2 changed files with 7 additions and 1 deletions

View File

@ -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);

View File

@ -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;