From 0e6ba0cd0db6f338696ffba9180e15ea4a092323 Mon Sep 17 00:00:00 2001
From: lat9nq <22451773+lat9nq@users.noreply.github.com>
Date: Thu, 15 Jul 2021 21:02:38 -0400
Subject: [PATCH] emu_window_sdl2_vk: Specify the window manager if it should
 be supported

The original language "not implemented" is wrong if the implementation
exists but is not compiled. This causes a bit of a debugging headache
when it goes wrong. Log it if the window manager is known before
exiting.
---
 src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp
index b6049b032..7c870aea1 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_vk.cpp
@@ -57,6 +57,11 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste
         window_info.type = Core::Frontend::WindowSystemType::Windows;
         window_info.render_surface = reinterpret_cast<void*>(wm.info.win.window);
         break;
+#else
+    case SDL_SYSWM_TYPE::SDL_SYSWM_WINDOWS:
+        LOG_CRITICAL(Frontend, "Window manager subsystem Windows not compiled");
+        std::exit(EXIT_FAILURE);
+        break;
 #endif
 #ifdef SDL_VIDEO_DRIVER_X11
     case SDL_SYSWM_TYPE::SDL_SYSWM_X11:
@@ -64,6 +69,11 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste
         window_info.display_connection = wm.info.x11.display;
         window_info.render_surface = reinterpret_cast<void*>(wm.info.x11.window);
         break;
+#else
+    case SDL_SYSWM_TYPE::SDL_SYSWM_X11:
+        LOG_CRITICAL(Frontend, "Window manager subsystem X11 not compiled");
+        std::exit(EXIT_FAILURE);
+        break;
 #endif
 #ifdef SDL_VIDEO_DRIVER_WAYLAND
     case SDL_SYSWM_TYPE::SDL_SYSWM_WAYLAND:
@@ -71,6 +81,11 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste
         window_info.display_connection = wm.info.wl.display;
         window_info.render_surface = wm.info.wl.surface;
         break;
+#else
+    case SDL_SYSWM_TYPE::SDL_SYSWM_WAYLAND:
+        LOG_CRITICAL(Frontend, "Window manager subsystem Wayland not compiled");
+        std::exit(EXIT_FAILURE);
+        break;
 #endif
     default:
         LOG_CRITICAL(Frontend, "Window manager subsystem not implemented");