gpui_interop 0.2.0

Zero-copy external GPU surfaces for GPUI windows
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "gpui_interop"
version = "0.2.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"
required-features = ["gpui"]

[[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 = "shared_buffer_ring"
path = "tests/shared_buffer_ring.rs"
required-features = ["wgpu-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.25"
optional = true
default-features = false
package = "bite-gpui"

[dependencies.wgpu]
version = "30.0.1"
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.25"
package = "bite-gp-engine"

[target.'cfg(target_os = "linux")'.dependencies.libc]
version = "0.2"

[target.'cfg(target_os = "linux")'.dependencies.log]
version = "0.4.16"

[target.'cfg(target_os = "linux")'.dev-dependencies.gpui_wgpu]
version = "1.25"
features = ["headless"]
package = "bite-gp-wgpu"

[target.'cfg(target_os = "linux")'.dev-dependencies.naga]
version = "30.0.1"
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.25"
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