Skip to content

Commit 38bb7b6

Browse files
committed
Add explicit support tiers
1 parent 0eeed70 commit 38bb7b6

1 file changed

Lines changed: 28 additions & 29 deletions

File tree

README.md

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,34 @@ pixels when its GPU-accelerated post-processing effects are not needed.
2727
This library is dual-licensed under MIT or Apache-2.0, just like minifb and rust. Significant portions of code were taken
2828
from the minifb library to do platform-specific work.
2929

30-
## Platform support:
31-
32-
Some, but not all, platforms supported in [raw-window-handle](https://crates.io/crates/raw-window-handle) are supported
33-
by Softbuffer. Pull requests are welcome to add new platforms! **Nonetheless, all major desktop platforms that winit uses
34-
on desktop are supported.**
35-
36-
For now, the priority for new platforms is:
37-
38-
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
39-
2. for that one platform on each OS to be the one that winit uses.
40-
41-
(PRs will be accepted for any platform, even if it does not follow the above priority.)
42-
43-
| Platform ||
44-
|-----------|--|
45-
|Android NDK||
46-
| AppKit ||
47-
| Orbital ||
48-
| UIKit ||
49-
| Wayland ||
50-
| Web ||
51-
| Win32 ||
52-
| WinRT ||
53-
| XCB ||
54-
| Xlib ||
55-
56-
✅: Present\
57-
❔: Immature\
58-
❌: Absent
30+
## Platform support
31+
32+
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".
33+
34+
When submitting pull requests that change multiple platforms, you're expected to have tested it on all tier 1 platforms.
35+
36+
The current status is as follows (based on the list of platforms exposed by [`raw-window-handle`](https://crates.io/crates/raw-window-handle)):
37+
38+
| Platform | Tier | Present |
39+
| ------------------ | ---- | ------- |
40+
| AppKit (macOS) | 1 ||
41+
| Wayland | 1 ||
42+
| Win32 | 1 ||
43+
| XCB / Xlib (X11) | 1 ||
44+
| Android NDK | 2 ||
45+
| UIKit (iOS) | 2 ||
46+
| WebAssembly | 2 ||
47+
| DRM/KMS | 3 ||
48+
| Orbital | 3 ||
49+
| GBM/KMS | N/A ||
50+
| Haiku | N/A ||
51+
| OpenHarmony OS NDK | N/A | ❌ ([#261](https://github.com/rust-windowing/softbuffer/pull/261)) |
52+
| WinRT | N/A ||
53+
| UEFI | N/A | ❌ ([#282](https://github.com/rust-windowing/softbuffer/pull/282)) |
54+
55+
Beware that big endian targets are much less tested, and may behave incorrectly.
56+
57+
Pull requests to add support for new platforms are welcome!
5958

6059
## WebAssembly
6160

0 commit comments

Comments
 (0)