diff options
author | 2022-01-26 13:54:21 +0700 | |
---|---|---|
committer | 2022-01-26 13:54:21 +0700 | |
commit | 9b3cab82ef3bbc5b8129ac3bacec4011229f0fbc (patch) | |
tree | bc9fbd32c8c589bc56d2458bb77bc8293ba8a6bd /glutin | |
parent | 4aa943cbc63230dfcb995c469ceec9f74e6132e1 (diff) | |
parent | 522368e8af6947ea0676f62bf1ae5f68acb2058d (diff) | |
download | iced-9b3cab82ef3bbc5b8129ac3bacec4011229f0fbc.tar.gz iced-9b3cab82ef3bbc5b8129ac3bacec4011229f0fbc.tar.bz2 iced-9b3cab82ef3bbc5b8129ac3bacec4011229f0fbc.zip |
Merge pull request #1160 from derezzedex/dev/arm-support
feat: add support to ARM devices (and older hardware)
Diffstat (limited to '')
-rw-r--r-- | glutin/src/application.rs | 19 | ||||
-rw-r--r-- | glutin/src/lib.rs | 1 |
2 files changed, 17 insertions, 3 deletions
diff --git a/glutin/src/application.rs b/glutin/src/application.rs index 437c17ee..27a932fc 100644 --- a/glutin/src/application.rs +++ b/glutin/src/application.rs @@ -61,10 +61,23 @@ where settings.id, ); - let context = ContextBuilder::new() + let opengl_builder = ContextBuilder::new() .with_vsync(true) - .with_multisampling(C::sample_count(&compositor_settings) as u16) - .build_windowed(builder, &event_loop) + .with_multisampling(C::sample_count(&compositor_settings) as u16); + + let opengles_builder = opengl_builder.clone().with_gl( + glutin::GlRequest::Specific(glutin::Api::OpenGlEs, (2, 0)), + ); + + let (first_builder, second_builder) = if settings.try_opengles_first { + (opengles_builder, opengl_builder) + } else { + (opengl_builder, opengles_builder) + }; + + let context = first_builder + .build_windowed(builder.clone(), &event_loop) + .or_else(|_| second_builder.build_windowed(builder, &event_loop)) .map_err(|error| { use glutin::CreationError; diff --git a/glutin/src/lib.rs b/glutin/src/lib.rs index 224296b7..72397791 100644 --- a/glutin/src/lib.rs +++ b/glutin/src/lib.rs @@ -20,6 +20,7 @@ pub use iced_native::*; pub mod application; pub use iced_winit::clipboard; +pub use iced_winit::conversion; pub use iced_winit::settings; pub use iced_winit::window; pub use iced_winit::{Error, Mode}; |