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.
master
lat9nq 2021-07-15 21:02:38 +07:00
parent d3748cad73
commit 0e6ba0cd0d
1 changed files with 15 additions and 0 deletions

@ -57,6 +57,11 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(InputCommon::InputSubsystem* input_subsyste
window_info.type = Core::Frontend::WindowSystemType::Windows; window_info.type = Core::Frontend::WindowSystemType::Windows;
window_info.render_surface = reinterpret_cast<void*>(wm.info.win.window); window_info.render_surface = reinterpret_cast<void*>(wm.info.win.window);
break; break;
#else
case SDL_SYSWM_TYPE::SDL_SYSWM_WINDOWS:
LOG_CRITICAL(Frontend, "Window manager subsystem Windows not compiled");
std::exit(EXIT_FAILURE);
break;
#endif #endif
#ifdef SDL_VIDEO_DRIVER_X11 #ifdef SDL_VIDEO_DRIVER_X11
case SDL_SYSWM_TYPE::SDL_SYSWM_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.display_connection = wm.info.x11.display;
window_info.render_surface = reinterpret_cast<void*>(wm.info.x11.window); window_info.render_surface = reinterpret_cast<void*>(wm.info.x11.window);
break; break;
#else
case SDL_SYSWM_TYPE::SDL_SYSWM_X11:
LOG_CRITICAL(Frontend, "Window manager subsystem X11 not compiled");
std::exit(EXIT_FAILURE);
break;
#endif #endif
#ifdef SDL_VIDEO_DRIVER_WAYLAND #ifdef SDL_VIDEO_DRIVER_WAYLAND
case SDL_SYSWM_TYPE::SDL_SYSWM_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.display_connection = wm.info.wl.display;
window_info.render_surface = wm.info.wl.surface; window_info.render_surface = wm.info.wl.surface;
break; break;
#else
case SDL_SYSWM_TYPE::SDL_SYSWM_WAYLAND:
LOG_CRITICAL(Frontend, "Window manager subsystem Wayland not compiled");
std::exit(EXIT_FAILURE);
break;
#endif #endif
default: default:
LOG_CRITICAL(Frontend, "Window manager subsystem not implemented"); LOG_CRITICAL(Frontend, "Window manager subsystem not implemented");