-
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
base: master
Are you sure you want to change the base?
Conversation
| | Wayland | 1 | ✅ | | ||
| | Win32 | 1 | ✅ | | ||
| | XCB / Xlib (X11) | 1 | ✅ | | ||
| | Android NDK | 2 | ✅ | |
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 1 on Android too, if it weren't for the remaining issues in android-activity and winit.
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.
| | WebAssembly | 2 | ✅ | | ||
| | DRM/KMS | 3 | ✅ | | ||
| | Orbital | 3 | ✅ | | ||
| | GBM/KMS | N/A | ❌ | |
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.
Are users interested in a GBM backend - which uses DRM/KMS?
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.
Idk how GBM works, I just kinda filled out the table based on RawWindowHandle
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.
As long as the gbm_surface uses a linear modifier, we could mmap it and write to it, but I'd assume for pure software rendering using dumb buffers would perform better, or equivalently?
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 think it makes sense to list it here anyhow, regardless of whether we ever intend to support it, since it's part of raw-window-handle.
cb9a69f to
aa04cb3
Compare
By adding a pull request template with the tier list.
I don't really know how DRM/KMS works, and I don't have Orbital/Redox in a VM, so for the changes I've been making recently, I haven't tested those platforms.
I'd argue that this is fine, I think those platforms are fine to be less supported than the others, but we should document this somewhere. Additionally, while I try to make Android, Web and iOS work, these are also gonna be less tested in practice.
For this, I propose introducing three "support tiers" in a similar vein as rust-windowing/winit#3887. I went with only listing platforms, and not
rustctargets, since there isn't any target- / architecture-specific code to speak of in Softbuffer (apart from endianess checks, which I documented to be less tested on big endian in this PR too).