[package]
edition = "2024"
name = "gpui_interop"
version = "0.1.0"
build = "build.rs"
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Zero-copy external GPU surfaces for GPUI windows"
homepage = "https://bite-gpui.github.io/"
documentation = "https://docs.rs/gpui_interop"
readme = "README.md"
keywords = [
"gpui",
"gpu",
"dma-buf",
"wgpu",
"zero-copy",
]
categories = [
"gui",
"rendering",
]
license = "Apache-2.0"
repository = "https://github.com/bite-gpui/gpui_interop"
resolver = "2"
[package.metadata.docs.rs]
all-features = false
features = [
"gpui",
"wgpu",
"guest",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
example = [
"gpui",
"wgpu",
"gpui/platform",
]
gpui = ["dep:gpui"]
guest = [
"gpui",
"gpui/platform",
"dep:futures",
]
guest-test = ["guest"]
input-test = [
"gpui",
"gpui/test-support",
]
readback-test = [
"gpui",
"wgpu",
"gpui/platform",
"gpui/test-support",
]
wgpu = ["dep:wgpu"]
wgpu-test = [
"gpui",
"wgpu",
"gpui/platform",
"gpui/test-support",
]
[lib]
name = "gpui_interop"
path = "src/gpui_interop.rs"
doctest = false
[[example]]
name = "interop_cube"
path = "examples/interop_cube.rs"
required-features = ["example"]
[[example]]
name = "interop_cube_drag"
path = "examples/interop_cube_drag.rs"
required-features = ["example"]
[[example]]
name = "interop_linux"
path = "examples/interop_linux.rs"
required-features = ["example"]
[[test]]
name = "cross_device_surface"
path = "tests/cross_device_surface.rs"
[[test]]
name = "guest_runner"
path = "tests/guest_runner.rs"
required-features = ["guest-test"]
[[test]]
name = "linux_dmabuf_readback"
path = "tests/linux_dmabuf_readback.rs"
required-features = ["readback-test"]
[[test]]
name = "surface_input"
path = "tests/surface_input.rs"
required-features = ["input-test"]
[[test]]
name = "wgpu_surface"
path = "tests/wgpu_surface.rs"
required-features = ["wgpu-test"]
[dependencies.anyhow]
version = "1.0.86"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.gpui]
version = "1.23"
optional = true
default-features = false
package = "bite-gpui"
[dependencies.wgpu]
version = "29.0.4"
optional = true
[build-dependencies.embed-resource]
version = "3.0"
[target.'cfg(target_os = "linux")'.dependencies.ash]
version = "0.38"
[target.'cfg(target_os = "linux")'.dependencies.gpui_engine]
version = "1.23"
package = "bite-gp-engine"
[target.'cfg(target_os = "linux")'.dependencies.log]
version = "0.4.16"
[target.'cfg(target_os = "linux")'.dev-dependencies.gpui_wgpu]
version = "1.23"
features = ["headless"]
package = "bite-gp-wgpu"
[target.'cfg(target_os = "linux")'.dev-dependencies.libc]
version = "0.2"
[target.'cfg(target_os = "linux")'.dev-dependencies.naga]
version = "29.0.4"
features = [
"wgsl-in",
"spv-out",
]
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.62"
features = [
"Data_Xml_Dom",
"Foundation_Numerics",
"Globalization_DateTimeFormatting",
"Storage_Search",
"Storage_Streams",
"System_Threading",
"UI_Notifications",
"UI_ViewManagement",
"Wdk_System_SystemServices",
"Win32_Foundation",
"Win32_Globalization",
"Win32_Graphics_Direct3D",
"Win32_Graphics_Direct3D11",
"Win32_Graphics_Direct3D_Fxc",
"Win32_Graphics_DirectComposition",
"Win32_Graphics_DirectWrite",
"Win32_Graphics_DirectManipulation",
"Win32_Graphics_Dwm",
"Win32_Graphics_Dxgi",
"Win32_Graphics_Dxgi_Common",
"Win32_Graphics_Gdi",
"Win32_Graphics_Imaging",
"Win32_Graphics_Hlsl",
"Win32_Networking_WinSock",
"Win32_Security",
"Win32_Security_Credentials",
"Win32_Security_Cryptography",
"Win32_Storage_FileSystem",
"Win32_Storage_Packaging_Appx",
"Win32_System_Com",
"Win32_System_Com_StructuredStorage",
"Win32_System_Console",
"Win32_System_Diagnostics_Debug",
"Win32_System_DataExchange",
"Win32_System_IO",
"Win32_System_JobObjects",
"Win32_System_LibraryLoader",
"Win32_System_Memory",
"Win32_System_Ole",
"Win32_System_Performance",
"Win32_System_Pipes",
"Win32_System_Power",
"Win32_System_RestartManager",
"Win32_System_SystemInformation",
"Win32_System_SystemServices",
"Win32_System_Threading",
"Win32_System_Variant",
"Win32_System_WinRT",
"Win32_UI_Controls",
"Win32_UI_HiDpi",
"Win32_UI_Input_Ime",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_Input_Pointer",
"Win32_UI_Shell",
"Win32_UI_Shell_Common",
"Win32_UI_Shell_PropertiesSystem",
"Win32_UI_WindowsAndMessaging",
"Win32_Media",
"Win32_Graphics_Direct3D12",
]
[target.'cfg(target_os = "windows")'.dev-dependencies.gpui_windows]
version = "1.23"
package = "bite-gp-windows"
[lints.clippy]
dbg_macro = "deny"
declare_interior_mutable_const = "deny"
redundant_clone = "deny"
todo = "deny"
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0