diff options
Diffstat (limited to 'alacritty/src/renderer/platform.rs')
-rw-r--r-- | alacritty/src/renderer/platform.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/alacritty/src/renderer/platform.rs b/alacritty/src/renderer/platform.rs index 495e837e..b31e6974 100644 --- a/alacritty/src/renderer/platform.rs +++ b/alacritty/src/renderer/platform.rs @@ -21,15 +21,24 @@ use winit::window::raw_window_handle::{RawDisplayHandle, RawWindowHandle}; pub fn create_gl_display( raw_display_handle: RawDisplayHandle, _raw_window_handle: Option<RawWindowHandle>, + _prefer_egl: bool, ) -> GlutinResult<Display> { #[cfg(target_os = "macos")] let preference = DisplayApiPreference::Cgl; #[cfg(windows)] - let preference = DisplayApiPreference::Wgl(Some(_raw_window_handle.unwrap())); + let preference = if _prefer_egl { + DisplayApiPreference::EglThenWgl(Some(_raw_window_handle.unwrap())) + } else { + DisplayApiPreference::WglThenEgl(Some(_raw_window_handle.unwrap())) + }; #[cfg(all(feature = "x11", not(any(target_os = "macos", windows))))] - let preference = DisplayApiPreference::GlxThenEgl(Box::new(x11::register_xlib_error_hook)); + let preference = if _prefer_egl { + DisplayApiPreference::EglThenGlx(Box::new(x11::register_xlib_error_hook)) + } else { + DisplayApiPreference::GlxThenEgl(Box::new(x11::register_xlib_error_hook)) + }; #[cfg(all(not(feature = "x11"), not(any(target_os = "macos", windows))))] let preference = DisplayApiPreference::Egl; |