Commit graph

180 commits

Author SHA1 Message Date
dependabot[bot]
888a9963ad
build(deps): update memmap2 requirement from 0.7.1 to 0.9.0
Updates the requirements on [memmap2](https://github.com/RazrFalcon/memmap2-rs) to permit the latest version.
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.7.1...v0.9.0)

---
updated-dependencies:
- dependency-name: memmap2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-12 05:45:23 -07:00
dependabot[bot]
979812f4bc
build(deps): update redox_syscall requirement from 0.3 to 0.4
Updates the requirements on redox_syscall to permit the latest version.

---
updated-dependencies:
- dependency-name: redox_syscall
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 18:07:18 -07:00
dependabot[bot]
f47f92a1f0
build(deps): bump hecrj/setup-rust-action from 1 to 2
Bumps [hecrj/setup-rust-action](https://github.com/hecrj/setup-rust-action) from 1 to 2.
- [Release notes](https://github.com/hecrj/setup-rust-action/releases)
- [Commits](https://github.com/hecrj/setup-rust-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: hecrj/setup-rust-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-10 21:47:32 -07:00
dependabot[bot]
f244cb56b9
build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-10 21:25:16 -07:00
Ian Douglas Scott
36618b63eb
Merge pull request #149 from rust-windowing/update-wayland
wayland: Update to wayland-client 0.31
2023-09-09 16:42:57 -07:00
Ian Douglas Scott
fff761cbd2
Merge pull request #141 from rust-windowing/release-0.3.1
v0.3.1
2023-09-09 16:40:30 -07:00
Ian Douglas Scott
e145d47cf8 v0.3.1
Softbuffer is broken on recent builds of Redox without the fix here, so
it's helpful to have a new release that fixes it. We seem to have
accumulated a few non-breaking fixes, so it seems like a good enough
time to do a release anyway.

Disabling `fetch` on Windows could be considered breaking, but it
doesn't change the API, was broken anyway, and is likely unused. So I
don't think that's an issue.
2023-09-09 16:30:55 -07:00
John Nunley
1b2aaa2e16
ci: Temporarily disable Windows GNU CI
They are currently failing due to what we believe is a bug in the
Windows bindings for Rust. For now, disable these until this bug is
resolved.

Closes #142

Signed-off-by: John Nunley <dev@notgull.net>
2023-09-09 13:40:39 -07:00
Benoît Cortier
908408ba80
fix(web): optimize and fix present_with_damage (#150)
Co-authored-by: daxpedda <daxpedda@gmail.com>
2023-09-09 17:30:38 +02:00
Ian Douglas Scott
a9d7e159e0 wayland: Update to wayland-client 0.31
Updates `rust-version` from 1.64 to 1.65.
2023-09-07 19:12:01 -07:00
Simon Hausmann
9b44f2eaea
bugfix: Fix length of returned buffer on x11 when using the wire-transferred buffer
total_len() computes the number of bytes, while the wire Vec holds u32.
2023-09-06 08:05:17 -07:00
Mads Marquart
53ae12a637
Merge pull request #143 from rust-windowing/update-macos-deps
Update macOS dependencies
2023-08-29 23:24:28 +02:00
Mads Marquart
bac64da8b8 Update macOS dependencies 2023-08-29 08:57:45 +02:00
Mads Marquart
c5401a3ec2
Merge pull request #128 from rust-windowing/dependabot/cargo/cocoa-0.25.0
Update cocoa requirement from 0.24.0 to 0.25.0
2023-08-29 08:51:42 +02:00
Jeremy Soller
2e926b37e9
Merge pull request #140 from rust-windowing/redox-map-shared
orbital: Use `syscall::MAP_SHARED` for mapping
2023-08-16 20:24:44 -06:00
Ian Douglas Scott
1770b331bf orbital: Use syscall::MAP_SHARED for mapping
This seems to be required to work correctly since
https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/51.

Orbclient had a similar change:
9097e71c9a.
2023-08-16 18:59:40 -07:00
John Nunley
ac0b7f5e14
feat: Add a DRM/KMS backend
This adds a DRM/KMS based backend to the system, as per #42. This system finds a CRTC and a connector, then uses that to create a frame buffer and a DUMB buffer that it can render to.

There's much more to do, and is left as an exercise for anyone with a significant DRM-based use case to pick up and fix.

Signed-off-by: John Nunley <dev@notgull.net>
2023-08-12 13:39:13 -07:00
John Nunley
2689cec2ca
bugfix: Mark fetch as unsupported on Windows for now
This fetch function has been broken and is probably unsound. This also
fixes the flakey Windows CI that we've been dealing with.

Signed-off-by: John Nunley <dev@notgull.net>
2023-08-10 19:28:04 -07:00
Ian Douglas Scott
5463e8741e
Merge pull request #137 from rust-windowing/cg-size
cg: Require non-zero width/height; panic instead of segfault
2023-07-24 19:46:59 -07:00
Ian Douglas Scott
e10c360929 cg: Require non-zero width/height; panic instead of segfault
Fixes https://github.com/rust-windowing/softbuffer/issues/124.
2023-07-24 18:24:23 -07:00
Fenhl
1f326b2199
bugfix: Reintroduce Error trait impl for SoftBufferError 2023-07-12 18:43:49 -07:00
John Nunley
abb7a4e9ac
version: Use fastrand v2.0.0 2023-07-03 07:59:34 -07:00
dependabot[bot]
4a1e18daf9
m: Update memmap2 requirement from 0.6.1 to 0.7.1
Updates the requirements on [memmap2](https://github.com/RazrFalcon/memmap2-rs) to permit the latest version.
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.6.1...v0.7.1)

---
updated-dependencies:
- dependency-name: memmap2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-02 15:19:49 -07:00
John Nunley
3404953bdb
m: Use tiny-xlib instead of x11-dl
My new tiny-xlib crate takes up a fraction of the space that the x11-dl crate uses, supports
feature-based static linking and involves less of Xlib's ridiculous surface.
2023-07-02 15:08:01 -07:00
dependabot[bot]
b5c14abf75
Update cocoa requirement from 0.24.0 to 0.25.0
Updates the requirements on [cocoa](https://github.com/servo/core-foundation-rs) to permit the latest version.
- [Commits](https://github.com/servo/core-foundation-rs/commits)

---
updated-dependencies:
- dependency-name: cocoa
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 05:09:01 +00:00
dAxpeDDa
6c78268502 Implement OffscreenCanvas support 2023-06-05 01:39:28 +02:00
John Nunley
68ec5a52d3
v0.3.0
* On MacOS, the contents scale is updated when set_buffer() is called, to adapt when the window is on a new screen (#68).
* **Breaking:** Split the `GraphicsContext` type into `Context` and `Surface` (#64).
* On Web, cache the document in the `Context` type (#66).
* **Breaking:** Introduce a new "owned buffer" for no-copy presentation (#65).
* Enable support for multi-threaded WASM (#77).
* Fix buffer resizing on X11 (#69).
* Add a set of functions for handling buffer damage (#99).
* Add a `fetch()` function for getting the window contents (#104).
* Bump MSRV to 1.64 (#81).
2023-06-04 16:10:35 -07:00
John Nunley
7b089d46b2
Remove the thiserror dependency (#116) 2023-06-03 07:08:35 -07:00
Ian Douglas Scott
efdfb529ef
Merge pull request #99 from rust-windowing/damage
Add `Buffer::present_with_damage()` and `Buffer::age()`
2023-06-02 20:15:14 -07:00
Ian Douglas Scott
1e7b9213d2 Merge remote-tracking branch 'origin/master' into damage 2023-06-02 15:03:10 -07:00
dAxpeDDa
6be186b47c Reference correct branch name in CI 2023-06-02 11:18:10 +02:00
John Nunley
44248477be
feat: Add a function for retrieving the window contents
This function is useful for testing the window contents in certain cases. In addition,
this means that we can now have reliable tests for softbuffer's actual functionality.

Signed-off-by: John Nunley <jtnunley01@gmail.com>
Co-authored-by: dAxpeDDa <daxpedda@gmail.com>
2023-06-01 20:09:30 -07:00
John Nunley
daf304adf9
fixup: Add changelog entry for 0.2.1
See #110
2023-05-31 19:00:28 -07:00
Ian Douglas Scott
591a40c0a6 Fix doc link 2023-05-30 15:36:14 -07:00
Ian Douglas Scott
a147a15d45 Use u32/NonZeroU32 for Rect, and return error if out of range 2023-05-30 15:27:59 -07:00
Ian Douglas Scott
199a016f44 Merge remote-tracking branch 'origin/master' into damage 2023-05-30 14:25:45 -07:00
dAxpeDDa
eb227f10f0 Bump x11rb to v0.12 2023-05-27 17:10:18 +02:00
dependabot[bot]
4268c732a6
Update memmap2 requirement from 0.5.8 to 0.6.1 (#108) 2023-05-15 06:48:56 -07:00
daxpedda
fcda747ddf
Add from_canvas() to Surface for Wasm (#76)
Co-authored-by: Toniman575 <toniman575@gmail.com>
2023-05-08 15:43:34 +02:00
jtnunley
ecfae194ce Add @daxpedda as web maintainer 2023-05-05 16:44:59 +02:00
daxpedda
d7888ef806
Implement present_with_damage for Web (#101) 2023-04-27 10:19:29 -07:00
Ian Douglas Scott
29b3f4a978 Add a Buffer::age() method
Fixes https://github.com/rust-windowing/softbuffer/issues/90.
2023-04-26 15:04:20 -07:00
Ian Douglas Scott
c1d6716eec Add a Buffer::present_with_damage() method
Supported on Wayland, X11, and Win32.

Fixes https://github.com/rust-windowing/softbuffer/issues/39.

try_for_each
2023-04-26 11:58:11 -07:00
John Nunley
f12aa534e1
Merge pull request #100 from LunaWasFlaggedAgain/master
x11: Limit returned shm buffer size
2023-04-24 18:36:39 -07:00
Luna
5efa5d8898 x11: Assert that size >= buffer_size 2023-04-24 20:31:39 -03:00
Luna
c68f41bf10 x11: Limit returned shm buffer size 2023-04-24 19:37:41 -03:00
dependabot[bot]
a958a18346
Bump actions/cache from 1 to 3 (#93)
* Bump actions/cache from 1 to 3

Bumps [actions/cache](https://github.com/actions/cache) from 1 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v1...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Empty commit to re-run CI

That CI failure looks spurious to me.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jtnunley <jtnunley01@gmail.com>
2023-04-18 15:05:23 -07:00
Jeremy Soller
a0b9c5921e
Merge pull request #97 from rust-windowing/example-optimize
examples: Avoid dividing index to get x, y; calculate index from x, y
2023-04-12 07:58:56 -06:00
Ian Douglas Scott
edc5c76180 examples: Avoid dividing index to get x, y; calculate index from x, y
Division is more expensive than multiplication, and this doesn't seem to
be optimize away, so iterating over `(0..height)` and `(0..width)`
provides better performance.

It's good to have the example show the best way to write code using
softbuffer, and this helps when using examples as a benchmark. This will
also be needed if Softbuffer supports formats where `stride` isn't just
`width * pixel_size`, and needs alignment.
2023-04-11 12:21:50 -07:00
dependabot[bot]
6da649e8a1
Bump actions/checkout from 2 to 3 (#92)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-10 10:32:37 -07:00