aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/renderer
Commit message (Collapse)AuthorAge
* Try to recover from GPU resetsKirill Chibisov2025-01-11
| | | | | Use context robustness to get notified about GPU resets and try to recover from them by rebuilding the rendering pipeline.
* Fix cut off wide characters in preedit stringKirill Chibisov2025-01-10
| | | | | The wide char spacers must not be drawn, like we do for regular wide characters.
* Remove unnecessary staticsIntegral2024-12-09
|
* Fix racing condition in hint triggeringChristian Duerr2024-11-02
| | | | | | | | | | | This fixes an issue with hints where it was possible that the terminal content of highlighted hints changed between the highlighted hint update and the activation of the hint. This patch always validates the hint's text content against the hint itself to ensure that the content is still valid for the original hint which triggered the highlight. Closes #8277.
* Unify string formattingHamir Mahal2024-07-24
|
* Fix search bug with wrapline on first characterChristian Duerr2024-07-05
| | | | | | | | This fixes an issue where an inline search in the left direction would incorrectly assume that the first cell searched would not contain the `WRAPLINE` flag, causing the second search for the match end to terminate prematurely. Fixes #8060.
* Bump glutin to 0.32.0Kirill Chibisov2024-06-08
|
* Fix IME preview overlapping textKirill Chibisov2024-04-21
| | | | | | | | | Fix incorrect usage of the `flags` when drawing the preedit resulting in setting the `flags`, but not actually reading the value back. The logic to skip things was also used incorrectly, because the renderer does that already based on the `WIDE_CHAR` flag on the cell. Fixes: 67a433ceed (Skip whitespaces for wide chars in preedit)
* Use builtin font to draw sextantsPopa Ioan Alexandru2024-01-26
| | | | | | Sextants are similar to quadrants and should align with them and other box drawing, thus use builtin font to align them properly. Part-of: #7422.
* Powerline glyphs being cut for narrow fontsKirill Chibisov2023-12-31
| | | Fixes #7470.
* Remove direct dependency on once_cellPhilip Dubé2023-12-29
| | | With MSRV 1.70, std now contains the necessary parts.
* Update to crossfont 0.6.0Kirill Chibisov2023-12-08
|
* Fallback to underline shader when dotted failsKirill Chibisov2023-12-02
| | | | | Some hardware is just bad. Fixes #7404.
* Add error handling for OpenGL connection detailsPavel Roskin2023-11-22
|
* Simplify powerline drawing algorithmKirill Chibisov2023-11-19
| | | | | | Iterate over points in line instead of drawing it right away and then finding it in the buffer. Fixes: 4a26667060 (Use builtin font to draw powerline symbols)
* Use builtin font to draw powerline symbolsKirill Chibisov2023-11-11
| | | | | | In addition to box drawing it was decided to also draw powerline symbols, since those are quite common and rather simple to draw with present box drawing infra.
* Remove `alacritty_config` from alacritty_terminalKirill Chibisov2023-11-10
| | | | | There's no need to force alacritty's user configuration on other users of the crate, thus provide the options actually used by alacritty_terminal itself.
* Fix typosPavel Roskin2023-10-25
|
* Update winit to 0.29.2 and copypasta to 0.10.0Kirill Chibisov2023-10-21
| | | | | | | | | Fixes #7236. Fixes #7201. Fixes #7146. Fixes #6848. Fixes #3601. Fixes #3108. Fixes #2453.
* Add `prefer_egl` debug optionRolf Sievert2023-09-04
| | | | | | | | | Some systems have rendering issues when using GLX rather than EGL. While this is usually due to a driver bug, it is helpful to provide a workaround for this by allowing people to prefer EGL over GLX. This patch adds the new `debug.prefer_egl` option to provide this workaround. Closes #7056.
* Update winit to 0.29.1-betaKirill Chibisov2023-09-04
| | | | | | | | Make use of new winit frame throttling mechanism used in RedrawRequested, which removes the need for having Wayland queue to ask for the frame callbacks. Fixes #7011.
* Use ahash instead of fnv and regular hash functionKirill Chibisov2023-07-24
| | | | | | | | After evaluation of the ahash with the data alacritty uses it was discovered that it's 1.5-2x times faster when getting the already hashed values, which is the primary cases for alacritty's renderer. Given that ahash is generally faster, all the HashSet and HashMap's inside the alacritty were changed to use it as a hasher function.
* Skip whitespaces for wide chars in preeditKirill Chibisov2023-07-22
| | | | | While we skip the spacers for the wide characters in the grid due to them having a proper flags, the draw_string method was generating the cells with incorrect flags leading to wide chars being cut off.
* Switch to VTE's built-in ansi featureAnhad Singh2023-05-23
| | | Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Improve renderer debuggabilityKirill Chibisov2023-05-21
| | | | Make the renderer more debuggable by adding extra logging and using `GL_KHR_debug` when running with the debug log level.
* Update bitflags to 2.2.1Kirill Chibisov2023-05-17
|
* Fix selection rotation on the last lineChristian Duerr2023-03-24
| | | | | | | | | | | | | This fixes an issue with terminal resizes when the selection is on the last line. Alacritty would fail to rotate lines and keep the selection in the same line index whenever the terminal line count was grown or shrunk. This issue occurred due to the range passed to the selection's rotate function still being based on the old terminal size, which caused the initial or target state of the rotation to be outside of the terminal bounds. Closes #6698.
* Fix crash when Atlas is fullKirill Chibisov2023-02-11
| | | | | This fixes the regression introduced by 2d27fff. Fixes #6688.
* Make gles2 renderer actually gles2Kirill Chibisov2023-02-07
| | | Fixes #6209.
* Align quadrants with half blocks in built-in fontKirill Chibisov2023-02-05
| | | Fixes #6201.
* Revert "Apply 'font.glyph_offset.y' for underline/strikeout"Kirill Chibisov2023-02-05
| | | This reverts commit d5e9d1d88317afc1f4374f2c2a7679cece14cb7b.
* Update winit to 0.28Kirill Chibisov2023-02-02
| | | | | | | | Fixes #6644. Fixes #6615. Fixes #6558. Fixes #6515. Fixes #3187. Fixes #62.
* Disable depth and stencil buffersChristian Duerr2022-12-29
| | | | | | | | | This patch reduces the active GPU memory consumption by disabling the depth and stencil buffers. During original testing it reduced GPU memory usage on Linux by almost a third. This is a reintroduction of previously reverted patch 3475e44. Closes #2881.
* Apply 'font.glyph_offset.y' for underline/strikeoutKirill Chibisov2022-12-25
| | | Fixes #6561.
* Add 'debug.renderer' config optionKirill Chibisov2022-11-28
| | | | | This should help trouble shooting the renderer being created and different renderer options to determine when something like dual-source rendering isn't working.
* Update glutin to 0.30.0Kirill Chibisov2022-11-03
| | | | | | | | | | | | | | | The glutin 0.30.0 update decouples glutin from winit which provides us with basis for a multithreaded renderer. This also improves robustness of our configuration picking, context creation, and surface handling. As an example we're now able to start on systems without a vsync, we don't try to build lots of contexts to check if some config works, and so on. That also brings us possibility to handle context losses, but that's a future work. Fixes #1268.
* Fix crash with very low font sizesKirill Chibisov2022-10-21
| | | Fixes #6432.
* Fix cursor and underlines always being blackKirill Chibisov2022-10-21
| | | | | | | Some old hardware doesn't like universal shader approach for all the rectangle kinds leading to ALU instruction limits. This commit fixes it by splitting the shader per rectangle kind. Fixes #6417.
* Fix clippy warningsChristian Duerr2022-10-12
| | | | | This patch applies all clippy lints currently present on the latest clippy master than are compatible with our oldstable clippy (only exception is the `_else(||` stuff).
* Don't enable multisamplingKirill Chibisov2022-09-11
| | | | | It never worked in the first place, because we were never requesting it in glutin, and it provides no value given that textures are already antialiased.
* Bump glutin to 0.29.1Kirill Chibisov2022-08-10
| | | | | | | | Fixes #6239. Fixes #5975. Fixes #5876. Fixes #5767. Fixes #4484. Fixes #3139.
* Fix thin strokes on macOSChris Copeland2022-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the `font.use_thin_strokes` config, which only did anything on macOS and only prior to Big Sur. Instead, we will enable or disable "font smoothing" on macOS based on the `AppleFontSmoothing` user default. These changes let users get the "thin strokes" behavior by setting `AppleFontSmoothing` to 0 with: ```sh $ defaults write -g AppleFontSmoothing -int 0 ``` (Or replace `-g` with `org.alacritty` to apply this setting only to Alacritty.app, rather than the whole system.) Add a `removed` config attribute to show helpful warnings to users who are using config options that don't do anything anymore, and apply this attribute to `font.use_thin_strokes`. Bump `crossfont` to 0.5.0 to pick up the new font smoothing behavior. This release also includes a fix for a crash when trying to load a disabled font. Fixes #4616. Fixes #6108.
* Add support for hyperlink escape sequenceKirill Chibisov2022-07-10
| | | | | | | This commit adds support for hyperlink escape sequence `OSC 8 ; params ; URI ST`. The configuration option responsible for those is `hints.enabled.hyperlinks`. Fixes #922.
* Fix flickering during resize on WaylandKirill Chibisov2022-06-09
| | | | | This also fixes an issue of windows not being rendered while resizing. Fixes #6069.
* Support dual source blending in GLES2 rendererVasily Khoruzhick2022-06-08
| | | | | | | | | GLES2 has GL_EXT_blend_func_extended extension that enables dual-source blending, so essentially we can reuse fragment shader from GLSL3 renderer and do 1 rendering pass instead of 3 for the text. Co-authored-by: Kirill Chibisov <contact@kchibisov.com> Co-authored-by: Christian Duerr <contact@christianduerr.com>
* Fix a few minor clippy lintsYuri Astrakhan2022-06-02
|
* Fix builtin glyphs for U+2567 and U+2568algon2022-05-20
|
* Fix gap in builtin box drawingKirill Chibisov2022-05-08
| | | | | Builtin box drawing glyphs in range from '\u{2580}' to `\u{2587}` could have gap due to missing rounding. Previously height was rounded, however not the `y` offset. This commit fixes it.
* Extract `SizeInfo` from alacritty_terminalKirill Chibisov2022-04-06
| | | | | The `SizeInfo` is a SizeInfo used for rendering, which contains information about padding, and such, however all the terminal need is number of visible lines and columns.
* Add colored underline supportKirill Chibisov2022-03-16
| | | | | | | | | This commit adds support for colored underline and refines the dynamic extra storage. The extra storage now is using `Arc` making cloning it way faster compared to `Box` approach which scales really well when it comes to cloning in `Term::write_at_cursor`, since cloning `Arc` is constant time. Fixes #4142.