diff --git a/blade-graphics/src/vulkan/init.rs b/blade-graphics/src/vulkan/init.rs index 676c309e..add6dcf8 100644 --- a/blade-graphics/src/vulkan/init.rs +++ b/blade-graphics/src/vulkan/init.rs @@ -36,6 +36,7 @@ struct AdapterCapabilities { shader_info: bool, } +#[derive(Debug)] struct SystemBugs { /// https://gitlab.freedesktop.org/mesa/mesa/-/issues/4688 intel_unable_to_present_on_xorg: bool, @@ -341,14 +342,13 @@ impl super::Context { entry.create_instance(&create_info, None).unwrap() }; - let is_xorg = match surface_handles { - Some((_, raw_window_handle::RawDisplayHandle::Xlib(_))) => true, - Some((_, raw_window_handle::RawDisplayHandle::Xcb(_))) => true, - _ => false, - }; let bugs = SystemBugs { - intel_unable_to_present_on_xorg: is_xorg && is_nvidia_prime_forced(), + //Note: this is somewhat broad across X11/Wayland and different drivers. + // It could be narrower, but at the end of the day if the user forced Prime + // for GLX it should be safe to assume they want it for Vulkan as well. + intel_unable_to_present: is_nvidia_prime_forced(), }; + log::debug!("Bugs {:#?}", bugs); let vk_surface = surface_handles.map(|(rwh, rdh)| { ash_window::create_surface(&entry, &core_instance, rdh, rwh, None).unwrap()