Fix Cannot find compatible metal driver on macOS due to the newest Vulkan SDK regression
#1469
This commit is contained in:
@@ -35,6 +35,10 @@ static const char* GValidationLayers[] =
|
||||
|
||||
static const char* GInstanceExtensions[] =
|
||||
{
|
||||
#if PLATFORM_APPLE_FAMILY && defined(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME)
|
||||
VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
|
||||
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
|
||||
#endif
|
||||
#if VK_EXT_validation_cache
|
||||
VK_EXT_VALIDATION_CACHE_EXTENSION_NAME,
|
||||
#endif
|
||||
@@ -46,6 +50,9 @@ static const char* GInstanceExtensions[] =
|
||||
|
||||
static const char* GDeviceExtensions[] =
|
||||
{
|
||||
#if PLATFORM_APPLE_FAMILY && defined(VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME)
|
||||
VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME,
|
||||
#endif
|
||||
VK_KHR_SWAPCHAIN_EXTENSION_NAME,
|
||||
#if VK_KHR_maintenance1
|
||||
VK_KHR_MAINTENANCE1_EXTENSION_NAME,
|
||||
|
||||
@@ -1078,6 +1078,9 @@ GPUDevice* GPUDeviceVulkan::Create()
|
||||
|
||||
VkInstanceCreateInfo instInfo;
|
||||
RenderToolsVulkan::ZeroStruct(instInfo, VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO);
|
||||
#ifdef PLATFORM_APPLE_FAMILY
|
||||
instInfo.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
|
||||
#endif
|
||||
instInfo.pApplicationInfo = &appInfo;
|
||||
|
||||
GetInstanceLayersAndExtensions(InstanceExtensions, InstanceLayers, SupportsDebugUtilsExt);
|
||||
|
||||
@@ -41,4 +41,15 @@
|
||||
#define VMA_NOT_NULL
|
||||
#include <ThirdParty/VulkanMemoryAllocator/vk_mem_alloc.h>
|
||||
|
||||
#if PLATFORM_APPLE_FAMILY
|
||||
// Declare potentially missing extensions from newer SDKs
|
||||
#ifndef VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME
|
||||
#define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
|
||||
#define VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR 0x00000001
|
||||
#endif
|
||||
#ifndef VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME
|
||||
#define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user