From a99d793b3946022bbe21601110ec427f48490224 Mon Sep 17 00:00:00 2001 From: antopilo Date: Sun, 30 Mar 2025 20:00:49 -0400 Subject: [PATCH] Display a message box when the GPU doesnt support required extensions --- .../Nuake/Rendering/Vulkan/VulkanRenderer.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Nuake/Source/Nuake/Rendering/Vulkan/VulkanRenderer.cpp b/Nuake/Source/Nuake/Rendering/Vulkan/VulkanRenderer.cpp index 06e3ed22..f21f6089 100644 --- a/Nuake/Source/Nuake/Rendering/Vulkan/VulkanRenderer.cpp +++ b/Nuake/Source/Nuake/Rendering/Vulkan/VulkanRenderer.cpp @@ -23,6 +23,8 @@ #include "DescriptorLayoutBuilder.h" +#include "Nuake/Core/OS.h" + #include "imgui/imgui.h" #include "imgui/imgui_impl_vulkan.h" #include "imgui/imgui_impl_glfw.h" @@ -208,6 +210,17 @@ void VkRenderer::SelectGPU() auto systemInfoRet = vkb::SystemInfo::get_system_info(); auto& systemInfo = systemInfoRet.value(); + for (auto extension : requiredExtensions) + { + if (!systemInfo.is_extension_available(extension)) + { + std::string errMessage = "No GPU found who supports the required Vulkan extension: " + std::string(extension); + errMessage += "\nConsider updating drivers."; + Logger::Log(errMessage, "vulkan", CRITICAL); + OS::ShowMessageBox("Vulkan Error", errMessage); + } + } + vkb::PhysicalDeviceSelector selector{ VkbInstance }; vkb::PhysicalDevice physicalDevice = selector .set_minimum_version(1, 3)