Ian Douglas Scott
Ian Douglas Scott
https://developer.apple.com/documentation/iosurface says it was introduced in macOS 10.6 (sorry PowerMac G5 users), so that much shouldn't be an issue.
https://github.com/rust-windowing/softbuffer/pull/95 has an implementation using IOSurface. Which requires an API change to expose stride. And it updates the `winit` and `animation` examples to use this. https://github.com/rust-windowing/softbuffer/pull/96 instead copies into an...
The API was updated in https://github.com/rust-windowing/softbuffer/pull/64. The example in the README should work on the git `master` of softbuffer, but not the latest release.
> These could either be solved by exposing this information to the user (more work and documentation for them, but also more performant) or kept hidden by maintaining the current...
Interesting, the main time overhead on the `animation` example with `master` that is fixed is in `transaction::commit`. Not sure what that is doing. It's not taking any significant amount of...
Adding a `stride()` is unnecessary for now, if it converts on present anyway. But we'll need that for this for `IOSurface`, or anything else where we write directly into memory...
This should definitely be consistent across backends, if nothing else. >Set the initial size to the window size (don't know if that's possible on all platforms). I don't believe that's...
On Wayland, https://wayland.app/protocols/viewporter can be used to crop and scale a buffer. It doesn't provide a way to control the scaling algorithm, but probably would provide good results if you're...
On Windows we're currently using `BitBlt` (comments in SDL said this was the fastest solution when they tried it; but that was a while ago). Looks like https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-stretchblt may work...
> As of the time of writing, the MSRV for softbuffer is 1.64.0. As far as I can tell there is no MSRV policy, but the informal rule seems to...