diff --git a/src/native/linux_x11.rs b/src/native/linux_x11.rs index a9b36ff6..109ee9df 100644 --- a/src/native/linux_x11.rs +++ b/src/native/linux_x11.rs @@ -342,7 +342,7 @@ unsafe fn glx_main_loop( where F: 'static + FnOnce() -> Box, { - let mut glx = match glx::Glx::init(&mut display.libx11, display.display, screen) { + let mut glx = match glx::Glx::init(&mut display.libx11, display.display, screen, conf) { Some(glx) => glx, _ => return Err(display), }; diff --git a/src/native/linux_x11/glx.rs b/src/native/linux_x11/glx.rs index 675ff597..8f15b071 100644 --- a/src/native/linux_x11/glx.rs +++ b/src/native/linux_x11/glx.rs @@ -212,7 +212,7 @@ pub struct Glx { } impl Glx { - pub unsafe fn init(libx11: &mut LibX11, display: *mut Display, screen: i32) -> Option { + pub unsafe fn init(libx11: &mut LibX11, display: *mut Display, screen: i32, conf: &crate::conf::Conf) -> Option { let mut libgl = LibGlx::try_load()?; let mut errorbase = 0; @@ -251,7 +251,7 @@ impl Glx { // _sapp_glx_ARB_create_context_profile = // _sapp_glx_extsupported(b"GLX_ARB_create_context_profile\x00", exts); - let fbconfig = choose_fbconfig(&mut libgl, libx11, display, screen, multisample); + let fbconfig = choose_fbconfig(&mut libgl, libx11, display, screen, multisample, conf.sample_count); assert!( !fbconfig.is_null(), "GLX: Failed to find a suitable GLXFBConfig" @@ -389,8 +389,8 @@ unsafe fn choose_fbconfig( display: *mut Display, screen: i32, multisample: bool, + desired_sample_count: i32 ) -> GLXFBConfig { - let desired_sample_count = 0; let native_configs: *mut GLXFBConfig; let closest: *const GLFBConfig;