diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 088f9f1994..93a87e1956 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -428,10 +428,13 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR const bool is_qualcomm = driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY; const bool is_turnip = driver_id == VK_DRIVER_ID_MESA_TURNIP; const bool is_s8gen2 = device_id == 0x43050a01; - //const bool is_arm = driver_id == VK_DRIVER_ID_ARM_PROPRIETARY; + const bool is_arm = driver_id == VK_DRIVER_ID_ARM_PROPRIETARY; - if (!is_suitable) - LOG_WARNING(Render_Vulkan, "Unsuitable driver - continuing anyways"); + if ((is_mvk || is_qualcomm || is_turnip || is_arm) && !is_suitable) { + LOG_WARNING(Render_Vulkan, "Unsuitable driver, continuing anyway"); + } else if (!is_suitable) { + throw vk::Exception(VK_ERROR_INCOMPATIBLE_DRIVER); + } if (is_nvidia) { nvidia_arch = GetNvidiaArchitecture(physical, supported_extensions);