Repository navigation
A bite-gpui 1.25 upgrade. The public wgpu types move to 30, so this is a minor release.
Breaking
- The
wgputypes in the public API —Adapter::wgpu,WgpuSurfaceandWgpuSharedBuffer— are now wgpu 30's. A producer still on wgpu 29 must upgrade before it can hand this crate its device.
Changed
- Built against
bite-gpui1.25.202 (was1.24.401), and the workspace follows the core towgpu30.0.1. - The Bevy producer moved to Bevy 0.20 (
bevy_render0.20), the release that uses wgpu 30, so the example still shares one wgpu with the window renderer. - wgpu 30's
create_texture_from_halnow takes the wrapped texture's initial state; an imported dma-buf image isUNINITIALIZED, as in the core's own importer. - wgpu 30's vertex layout list is a list of
Options; the hand-written pipeline ininterop_wgpufollows it. - The Windows cross-device test no longer needs the
request_windowingworkaround:bite-gpui1.24.401 attached the platform's Direct3D devices lazily inopen_window(bite-gpui/bite-gpui#13), and the test now exercises that path.
Verified
- The full headless suite: 34 tests, including the dma-buf import + pixel read-back, the shared-buffer ring's slow-frame test, the guest worker-thread hand-off, and the input gateway.
- Windows CI runs the hidden-window Direct3D 12 → Direct3D 11 cross-device test.
- Windowed runtime on an Optimus laptop: Bevy 0.20 on the window device (same-device and dma-buf
--transferpaths) at ~38 fps, probe centre pixel non-zero. cargo publish --dry-runwith and withoutgpui,wgpu,guest, against the published 1.25.202 packages.
Install
gpui_interop = { version = "0.2", features = ["gpui", "wgpu"] }Docs: https://docs.rs/gpui_interop/0.2.0
Changelog: https://github.com/bite-gpui/gpui_interop/blob/main/CHANGELOG.md
Full diff: v0.1.3...v0.2.0