1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-24 05:42:03 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong 09081d2189 improve texture upload performance, part 2
Continuing along the same lines as the prior commit, the goal
of this commit is to remove the buffer transformation that was
part of uploading the texture to the GPU provided surface.

In order to do so:

* The sense of our local textures needs to change from bgra32 to rgba32.
  bgra32 was a hangover from earlier versions of our window crate that
  allowed direct-to-fb writes in software mode.  We had to pick bgra32
  for that for the broadest OS compatibility.  I believe that that
  constraint has been totally removed, although there is a chance that
  this will flip the colors on macos.
* There was an additional linear-to-srgb conversion inlined in that
  buffer transformation.  I have no idea where that is needed because
  the source data is carefully constructed as SRGB.  I don't yet know
  how to signal that, but for now I've moved that gamma correction
  into the shader when we sample the texture.

With this change, timg playback now has vtparse as the hottest
region of code.

refs: #537
2021-03-14 09:14:30 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github issue template: mention collectin the keyboard layout too 2021-03-02 09:13:41 -08:00
assets Bundle PowerlineExtraSymbols as a fallback font 2021-03-06 19:12:35 -08:00
async_ossl fixup tls mux sessions 2020-10-04 21:47:12 -07:00
base91 dyn everywhere 2019-06-08 21:28:11 -07:00
bintree wezterm: improve pane resize logic 2020-09-27 16:07:08 -07:00
ci Windows: fix "Open WezTerm Here" for C:\ 2021-03-10 20:12:47 -08:00
codec OSC 52: update it so that it we respect primary vs. clipboard selection 2021-02-08 08:56:06 -08:00
config add config for customizing the tabs and new tab button 2021-03-11 21:22:10 -08:00
deps bump freetype dep to VER-2-10-4 2021-01-25 21:35:47 -08:00
docs docs: changelog to summarize timg related changes 2021-03-13 16:32:14 -08:00
env-bootstrap use $WEZTERM_LOG to configure log levels ad-hoc 2020-12-23 12:19:19 -08:00
filedescriptor fix filedescriptor::poll on macos 2020-09-10 13:58:14 -07:00
licenses macOS: bundle and use MetalANGLE to enable Metal rendering 2020-10-17 09:34:01 -07:00
luahelper add window:set_config_overrides lua method 2021-02-27 14:53:19 -08:00
mux improve output parsing performance and throughput 2021-03-13 19:19:05 -08:00
promise deps: misc updates 2020-12-29 09:24:34 -08:00
pty window: fix ToggleFullScreen on Windows 2021-02-26 19:39:35 -08:00
rangeset deps: misc updates 2020-12-29 09:24:34 -08:00
ratelim move ratelim to its own crate 2020-10-03 11:15:57 -07:00
strip-ansi-escapes move strip-ansi-escapes into its own crate 2020-10-03 11:15:57 -07:00
tabout avoid excess capacity when dealing with iterm2 image protocol 2021-03-13 08:10:48 -08:00
term improve output parsing performance and throughput 2021-03-13 19:19:05 -08:00
termwiz termwiz: shrink-to-fit Line::cells when clearing the line 2021-03-13 08:25:09 -08:00
test-data Render custom block glyphs 2021-02-28 09:43:26 -08:00
tmux-cc tmux: attach control mode parser to terminal 2020-11-20 09:24:50 -08:00
umask Take care to restore the original umask 2021-01-07 09:20:13 -08:00
vtparse Use const fn instead of recursive macro 2021-01-22 12:09:07 -08:00
wezterm improve output parsing performance and throughput 2021-03-13 19:19:05 -08:00
wezterm-client improve output parsing performance and throughput 2021-03-13 19:19:05 -08:00
wezterm-font improve texture upload performance, part 2 2021-03-14 09:14:30 -07:00
wezterm-gui improve texture upload performance, part 2 2021-03-14 09:14:30 -07:00
wezterm-gui-subcommands remove --front-end CLI option 2021-02-27 23:59:04 -08:00
wezterm-input-types windows: implement decoration setting, change to bitfield 2021-03-04 09:40:38 -08:00
wezterm-mux-server add --config name=value CLI options 2021-02-27 10:53:45 -08:00
wezterm-mux-server-impl term: plumb Bell through toast notification channel 2021-02-18 22:34:05 -08:00
wezterm-toast-notification toast: avoid blocking the main thread 2021-02-24 09:24:09 -08:00
window improve texture upload performance, part 2 2021-03-14 09:14:30 -07:00
.cirrus.yml ci: refine cirrus skip condition 2021-02-07 09:51:55 -08:00
.gitignore docs: for the new status bar feature 2021-03-10 19:29:17 -08:00
.gitmodules repoint to my freetype mirror 2021-02-03 21:56:30 -08:00
.rustfmt.toml Make rustfmt happy about "async move" 2020-01-20 13:58:21 -08:00
Cargo.lock avoid excess capacity when dealing with iterm2 image protocol 2021-03-13 08:10:48 -08:00
Cargo.toml cargo update to pick up mlua 5.0.1 and the cross compilation fixes 2021-01-20 20:16:30 -08:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps x11: remove some dead code 2021-03-09 08:21:23 -08:00
LICENSE.md wezterm: bundle JetBrains Mono and Noto Color Emoji fonts 2020-09-29 22:05:18 -07:00
README.md update for rename of master branch -> main 2021-02-03 21:34:12 -08:00
wt-record make it a bit easier to consume wt-record 2020-06-12 08:51:15 -07:00
wt-replay update record/play scripts for macos 2019-03-22 20:41:50 -07:00

Wez's Terminal

WezTerm Icon A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

User facing docs and guide at: https://wezfurlong.org/wezterm/

Screenshot

Screenshot of wezterm on macOS, running vim

Installation

https://wezfurlong.org/wezterm/installation.html

Getting help

This is a spare time project, so please bear with me. There are a couple of channels for support:

The GitHub Discussions and Element/Gitter rooms are better suited to questions than it is to bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.