xgpui-gpu-interop
Experimental zero-copy GPU interop: show frames from your own GPU engine in xgpui windows.
xgpui-gpu-interop
Released November 12, 2026: first alpha release, 0.1.0 on crates.io.
cargo add xgpui-gpu-interop --features wgpu
Public surface at a glance
EngineSurface, SurfaceSlot, SurfaceDesc, SurfaceFormat, SurfaceStats, SyncPoint, HeavyEngine and the wgpu-feature WgpuSurfaceTarget adapter; IOSurface/MTLSharedEvent on macOS, opaque-fd memory and timeline semaphores on Linux, shared D3D12 textures and fences on Windows.
API documentation
Rustdoc is available on docs.rs ↗; the guide's API reference matches this checkout.
Dependencies
Dependencies, optional features and target conditions are declared in Cargo.toml ↗.
The first release requires the additive backend hooks in xgpui-apple 4.1.0, xgpui-wgpu 2.3.0 and xgpui-windows 2.2.0. Existing applications need no source migration. The optional wgpu feature enables the engine adapter; Linux and Windows require it for the transport.
Contact and discovery
Questions and bug reports: open a GitHub issue ↗. No separate maintainer email is listed in the crate metadata.
Keywords: gpui, gpu, interop, zero-copy, wgpu. Categories: gui, graphics, rendering.
Boundary to investigate
First 0.1 alpha release; the API may change. Verified on Apple M-series, Intel Iris Xe (Fedora 44, Windows 11) and Arc 140T (Windows 11); Linux shows wide content as an sRGB preview. The engine must use the compositor’s GPU; automatic adapter matching is not available. AMD and NVIDIA are untested. Evidence in issue #198.