-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[official] Linux port via Blade (#7343)
## Motivation I ❤️ Zed! It's lightning fast and has great UX. I want it to run as well on all major platforms. I'm currently using Linux most actively. [Blade](https://github.com/kvark/blade) is a good candidate for providing GPU access: it supports Vulkan, Metal, and GLES/WebGL. Its abstraction is extremely thin, while having one of the nicest GPU APIs. Codebase is also tiny. Checkout [the meetup recording](https://www.youtube.com/watch?v=63dnzjw4azI&t=623s) from a year ago. I believe these projects make a good match 🚀 ! ### Why this is a bad idea If Zed team wants to use off-the-shelf components from Rust ecosystem, then Blade is certainly at disadvantage here, since it's not widely used. It would rely on Zed team adding necessary features in a branch, then maybe upstreaming some of them. That is to say, it's unclear if this can be avoided with more popular alternatives - being flexible with any local changes is a good ability. ### Why it's not too bad Blade uses [WGSL](https://www.w3.org/TR/WGSL) shaders, similar to `wgpu` and `arcana`, but without the binding decorations. So this aspect of the product is nicely portable. ## Progress - [ ] Platforms - [x] X11 (via xcb) - [ ] input handling - [ ] get proper content size - [ ] Windows - [ ] Replace the existing Metal backend - [ ] Text System - [ ] shaping - [ ] glyph rasterization - [x] Texture atlas - [ ] Rendering - [x] basic primitives - [x] path rendering - [x] sprite rendering - [ ] media surfaces - [ ] CI ## Current status Zed starts up but crashes on text-system related checks. 
- Loading branch information
Showing
38 changed files
with
3,188 additions
and
67 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
mod blade_atlas; | ||
mod blade_belt; | ||
mod blade_renderer; | ||
mod dispatcher; | ||
mod display; | ||
mod platform; | ||
mod text_system; | ||
mod window; | ||
|
||
pub(crate) use blade_atlas::*; | ||
pub(crate) use dispatcher::*; | ||
pub(crate) use display::*; | ||
pub(crate) use platform::*; | ||
pub(crate) use text_system::*; | ||
pub(crate) use window::*; | ||
|
||
use blade_belt::*; | ||
use blade_renderer::*; |
Oops, something went wrong.