From d2d37411bcd198a4615ddace4100b259e41b1814 Mon Sep 17 00:00:00 2001
From: GPUCode <47210458+GPUCode@users.noreply.github.com>
Date: Sat, 16 Sep 2023 02:00:10 +0300
Subject: [PATCH] vk_platform: Check if vkEnumerateInstanceVersion exists
 before calling it (#6982)

Co-authored-by: Vitor K <vitor-kiguchi@hotmail.com>
---
 src/video_core/renderer_vulkan/vk_platform.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/video_core/renderer_vulkan/vk_platform.cpp b/src/video_core/renderer_vulkan/vk_platform.cpp
index 46390889a..1f6fcfc1b 100644
--- a/src/video_core/renderer_vulkan/vk_platform.cpp
+++ b/src/video_core/renderer_vulkan/vk_platform.cpp
@@ -288,12 +288,17 @@ vk::UniqueInstance CreateInstance(const Common::DynamicLibrary& library,
     }
     VULKAN_HPP_DEFAULT_DISPATCHER.init(vkGetInstanceProcAddr);
 
-    const auto extensions = GetInstanceExtensions(window_type, enable_validation);
+    if (!VULKAN_HPP_DEFAULT_DISPATCHER.vkEnumerateInstanceVersion) {
+        throw std::runtime_error("Vulkan 1.0 is not supported, 1.1 is required!");
+    }
+
     const u32 available_version = vk::enumerateInstanceVersion();
     if (available_version < VK_API_VERSION_1_1) {
         throw std::runtime_error("Vulkan 1.0 is not supported, 1.1 is required!");
     }
 
+    const auto extensions = GetInstanceExtensions(window_type, enable_validation);
+
     const vk::ApplicationInfo application_info = {
         .pApplicationName = "Citra",
         .applicationVersion = VK_MAKE_VERSION(1, 0, 0),