-
Notifications
You must be signed in to change notification settings - Fork 69
Add explicit support tiers #323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,23 +1,23 @@ | ||
| # Android | ||
| /src/android.rs @MarijnS95 | ||
| /src/backends/android.rs @MarijnS95 | ||
|
|
||
| # Apple platforms | ||
| /src/cg.rs @madsmtm | ||
| /src/backends/cg.rs @madsmtm | ||
|
|
||
| # DRM/KMS (no maintainer) | ||
| /src/kms.rs | ||
| /src/backends/kms.rs | ||
|
|
||
| # Redox | ||
| /src/orbital.rs @jackpot51 | ||
| /src/backends/orbital.rs @jackpot51 | ||
|
|
||
| # Wayland | ||
| /src/wayland @ids1024 | ||
| /src/backends/wayland @ids1024 | ||
|
|
||
| # Web | ||
| /src/web.rs @daxpedda | ||
| /src/backends/web.rs @daxpedda | ||
|
|
||
| # Windows | ||
| /src/win32.rs @notgull | ||
| /src/backends/win32.rs @notgull | ||
|
|
||
| # X11 | ||
| /src/x11.rs @notgull | ||
| /src/backends/x11.rs @notgull |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| <!-- Thanks for contributing! --> | ||
|
|
||
| <!-- If your pull request only touches a single backend, feel free to prune the following list: --> | ||
|
|
||
| Tested on: | ||
| - [ ] AppKit (tier 1) | ||
| - [ ] Wayland (tier 1) | ||
| - [ ] Win32 (tier 1) | ||
| - [ ] XCB / Xlib (tier 1) | ||
| - [ ] Android NDK (tier 2) | ||
| - [ ] UIKit (tier 2) | ||
| - [ ] Web (tier 2) | ||
| - [ ] DRM/KMS (tier 3) | ||
| - [ ] Orbital (tier 3) | ||
|
|
||
| <!-- Note that it's okay to leave these unchecked, this is just a signal to the reviewer that they need to test it themselves. PRs may be merged when all tier 1 backends have been tested. --> |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -27,35 +27,32 @@ pixels when its GPU-accelerated post-processing effects are not needed. | |
| This library is dual-licensed under MIT or Apache-2.0, just like minifb and rust. Significant portions of code were taken | ||
| from the minifb library to do platform-specific work. | ||
|
|
||
| ## Platform support: | ||
|
|
||
| Some, but not all, platforms supported in [raw-window-handle](https://crates.io/crates/raw-window-handle) are supported | ||
| by Softbuffer. Pull requests are welcome to add new platforms! **Nonetheless, all major desktop platforms that winit uses | ||
| on desktop are supported.** | ||
|
|
||
| For now, the priority for new platforms is: | ||
|
|
||
| 1. to have at least one platform on each OS working (e.g. one of Win32 or WinRT, or one of Xlib, Xcb, and Wayland) and | ||
| 2. for that one platform on each OS to be the one that winit uses. | ||
|
|
||
| (PRs will be accepted for any platform, even if it does not follow the above priority.) | ||
|
|
||
| | Platform || | ||
| |-----------|--| | ||
| |Android NDK|✅| | ||
| | AppKit |✅| | ||
| | Orbital |✅| | ||
| | UIKit |✅| | ||
| | Wayland |✅| | ||
| | Web |✅| | ||
| | Win32 |✅| | ||
| | WinRT |❌| | ||
| | XCB |✅| | ||
| | Xlib |✅| | ||
|
|
||
| ✅: Present\ | ||
| ❔: Immature\ | ||
| ❌: Absent | ||
| ## Platform support | ||
|
|
||
| Softbuffer supports many platforms, some to a higher degree than others. This is codified with a "tier" system. Tier 1 platforms can be thought of as "tested and guaranteed to work", tier 2 as "will likely work", and tier 3 as "builds in CI". | ||
|
|
||
| The current status is as follows (based on the list of platforms exposed by [`raw-window-handle`](https://crates.io/crates/raw-window-handle)): | ||
|
|
||
| | Platform | Tier | Available | | ||
| | ------------------ | ---- | --------- | | ||
| | AppKit (macOS) | 1 | ✅ | | ||
| | Wayland | 1 | ✅ | | ||
| | Win32 | 1 | ✅ | | ||
| | XCB / Xlib (X11) | 1 | ✅ | | ||
| | Android NDK | 2 | ✅ | | ||
| | UIKit (iOS) | 2 | ✅ | | ||
| | WebAssembly | 2 | ✅ | | ||
| | DRM/KMS | 3 | ✅ | | ||
| | Orbital | 3 | ✅ | | ||
| | GBM/KMS | N/A | ❌ | | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are users interested in a GBM backend - which uses DRM/KMS?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Idk how GBM works, I just kinda filled out the table based on
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As long as the
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it makes sense to list it here anyhow, regardless of whether we ever intend to support it, since it's part of |
||
| | Haiku | N/A | ❌ | | ||
| | OpenHarmony OS NDK | N/A | ❌ ([#261](https://github.com/rust-windowing/softbuffer/pull/261)) | | ||
| | WinRT | N/A | ❌ | | ||
| | UEFI | N/A | ❌ ([#282](https://github.com/rust-windowing/softbuffer/pull/282)) | | ||
|
|
||
| Beware that big endian targets are much less tested, and may behave incorrectly. | ||
|
|
||
| Pull requests to add support for new platforms are welcome! | ||
|
|
||
| ## WebAssembly | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would commit to
1on Android too, if it weren't for the remaining issues inandroid-activityandwinit.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm kind of of the same mind for iOS / UIKit (and Web to a certain extent), the problems there aren't in Softbuffer but in Winit. But effectively, it does mean that Android and iOS are less supported, hence tier 2.