diff options
| author | Christian Duerr <contact@christianduerr.com> | 2025-10-20 05:27:07 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-20 14:27:07 +0900 |
| commit | 7b33cbcbc287822ad0faf3744cff3db05fb20274 (patch) | |
| tree | 956c72895d711ba46fc7fcb88c007f440ecccc90 | |
| parent | 08882d521de1d64befd4972178aa2772201014eb (diff) | |
| download | r-alacritty-7b33cbcbc287822ad0faf3744cff3db05fb20274.tar.gz r-alacritty-7b33cbcbc287822ad0faf3744cff3db05fb20274.tar.bz2 r-alacritty-7b33cbcbc287822ad0faf3744cff3db05fb20274.zip | |
Fix OpenGL robustness crash
This disables the OpenGL context's robustness feature since some GPUs
that advertise robustness support do not support sufficient capabilities
for our implementation.
Closes #8713.
| -rw-r--r-- | CHANGELOG.md | 6 | ||||
| -rw-r--r-- | alacritty/src/renderer/platform.rs | 11 |
2 files changed, 9 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 8287dcdb..bd76e332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,12 @@ Notable changes to the `alacritty_terminal` crate are documented in its - Brief error popup when saving the config file with some editors +## 0.16.1 + +### Fixed + +- Crashes on GPUs with partial robustness support + ## 0.16.0 ### Packaging diff --git a/alacritty/src/renderer/platform.rs b/alacritty/src/renderer/platform.rs index 99778ea0..82ae0e1e 100644 --- a/alacritty/src/renderer/platform.rs +++ b/alacritty/src/renderer/platform.rs @@ -4,9 +4,9 @@ use std::num::NonZeroU32; use glutin::config::{ColorBufferType, Config, ConfigTemplateBuilder, GetGlConfig}; use glutin::context::{ - ContextApi, ContextAttributesBuilder, GlProfile, NotCurrentContext, Robustness, Version, + ContextApi, ContextAttributesBuilder, GlProfile, NotCurrentContext, Version, }; -use glutin::display::{Display, DisplayApiPreference, DisplayFeatures, GetGlDisplay}; +use glutin::display::{Display, DisplayApiPreference, GetGlDisplay}; use glutin::error::Result as GlutinResult; use glutin::prelude::*; use glutin::surface::{Surface, SurfaceAttributesBuilder, WindowSurface}; @@ -110,12 +110,7 @@ pub fn create_gl_context( raw_window_handle: Option<RawWindowHandle>, ) -> GlutinResult<NotCurrentContext> { let debug = log::max_level() >= LevelFilter::Debug; - let mut builder = ContextAttributesBuilder::new().with_debug(debug); - - // Try to enable robustness. - if gl_display.supported_features().contains(DisplayFeatures::CONTEXT_ROBUSTNESS) { - builder = builder.with_robustness(Robustness::RobustLoseContextOnReset); - } + let builder = ContextAttributesBuilder::new().with_debug(debug); let mut profiles = [ builder |