summaryrefslogtreecommitdiffstats
path: root/glutin/src/application.rs
diff options
context:
space:
mode:
authorLibravatar Richard <richardsoncusto@gmail.com>2021-12-15 02:07:13 -0300
committerLibravatar Richard <richardsoncusto@gmail.com>2022-01-19 17:40:17 -0300
commit230db88fb2d9454eb13bc4e260723f57f6c4dabe (patch)
tree5c84f48fe537be6182c8f1599c15b14e5c4305f0 /glutin/src/application.rs
parent46fb27b104fda99640cca625934ababeca8fd19a (diff)
downloadiced-230db88fb2d9454eb13bc4e260723f57f6c4dabe.tar.gz
iced-230db88fb2d9454eb13bc4e260723f57f6c4dabe.tar.bz2
iced-230db88fb2d9454eb13bc4e260723f57f6c4dabe.zip
Add setting to try OpenGL ES first
Diffstat (limited to '')
-rw-r--r--glutin/src/application.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/glutin/src/application.rs b/glutin/src/application.rs
index 88e67220..27a932fc 100644
--- a/glutin/src/application.rs
+++ b/glutin/src/application.rs
@@ -61,11 +61,23 @@ where
settings.id,
);
- let context = ContextBuilder::new()
+ let opengl_builder = ContextBuilder::new()
.with_vsync(true)
- // .with_gl(glutin::GlRequest::Specific(glutin::Api::OpenGlEs, (2, 0)))
- .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;