summaryrefslogtreecommitdiff
path: root/engine/src/rendering/backend/opengl/glutin_compat.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/rendering/backend/opengl/glutin_compat.rs')
-rw-r--r--engine/src/rendering/backend/opengl/glutin_compat.rs52
1 files changed, 22 insertions, 30 deletions
diff --git a/engine/src/rendering/backend/opengl/glutin_compat.rs b/engine/src/rendering/backend/opengl/glutin_compat.rs
index 27f82ad..0bdfcd2 100644
--- a/engine/src/rendering/backend/opengl/glutin_compat.rs
+++ b/engine/src/rendering/backend/opengl/glutin_compat.rs
@@ -66,12 +66,6 @@ pub struct DisplayBuilder
impl DisplayBuilder
{
- /// Create new display builder.
- pub fn new() -> Self
- {
- Default::default()
- }
-
/// The preference in picking the configuration.
#[allow(dead_code)]
pub fn with_preference(mut self, preference: ApiPreference) -> Self
@@ -153,7 +147,7 @@ impl DisplayBuilder
config_picker_fn(gl_configs).ok_or(Error::NoConfigPicked)?;
let window_attrs = cfg_select! {
- windows => { self.window_attributes }
+ windows => self.window_attributes,
_ => {
finalize_window_creation_attrs(self.window_attributes, &picked_gl_config)
}
@@ -179,39 +173,36 @@ pub enum Error
WindowRequired,
}
+#[allow(unused_variables)]
fn create_display(
display_handle: &DisplayHandle<'_>,
- _api_preference: ApiPreference,
- _raw_window_handle: Option<RawWindowHandle>,
+ api_preference: ApiPreference,
+ raw_window_handle: Option<RawWindowHandle>,
) -> Result<Display, GlutinError>
{
let preference = cfg_select! {
- windows => {
- match _api_preference {
- ApiPreference::PreferEgl => {
- DisplayApiPreference::EglThenWgl(_raw_window_handle)
- }
- ApiPreference::FallbackEgl => {
- DisplayApiPreference::WglThenEgl(_raw_window_handle)
- }
+ windows => match _api_preference {
+ ApiPreference::PreferEgl => {
+ DisplayApiPreference::EglThenWgl(_raw_window_handle)
}
- }
- target_os = "linux" => {
- match _api_preference {
- ApiPreference::PreferEgl => DisplayApiPreference::EglThenGlx(Box::new(
- crate::windowing::window::platform::x11::register_xlib_error_hook,
- )),
- ApiPreference::FallbackEgl => DisplayApiPreference::GlxThenEgl(Box::new(
- crate::windowing::window::platform::x11::register_xlib_error_hook,
- )),
+ ApiPreference::FallbackEgl => {
+ DisplayApiPreference::WglThenEgl(_raw_window_handle)
}
- }
- target_os = "macos" => { DisplayApiPreference::Cgl }
+ },
+ target_os = "linux" => match api_preference {
+ ApiPreference::PreferEgl => DisplayApiPreference::EglThenGlx(Box::new(
+ crate::windowing::window::platform::x11::register_xlib_error_hook,
+ )),
+ ApiPreference::FallbackEgl => DisplayApiPreference::GlxThenEgl(Box::new(
+ crate::windowing::window::platform::x11::register_xlib_error_hook,
+ )),
+ },
+ target_os = "macos" => DisplayApiPreference::Cgl,
};
let handle = display_handle.as_raw();
- unsafe { Ok(Display::new(handle, preference)?) }
+ unsafe { Display::new(handle, preference) }
}
/// Finalize [`Window`] creation by applying the options from the [`Config`], be
@@ -235,7 +226,8 @@ fn finalize_window_creation_attrs(
if let Some(x11_visual) = glutin::platform::x11::X11GlConfigExt::x11_visual(gl_config)
{
return attributes.with_x_visual_id(Some(
- x11_visual.visual_id() as crate::windowing::window::XVisualID
+ crate::windowing::window::XVisualID::try_from(x11_visual.visual_id())
+ .expect("X visual ID is too large"),
));
}