[package]
name = "gpu_display"
version = "0.1.0"
authors = ["The ChromiumOS Authors"]
edition = "2021"

[features]
x = []
kiwi = []
vulkan_display = [ "vulkano", "ash", "rand", "protos", "protobuf", "euclid", "smallvec"]
# Enables the GPU display backend for Android. The backend uses Android surface as the backing
# store.
android_display = []
# Stub implementation of the Android display backend. This is only used for building and testing the
# Android display backend on a non-Android target
android_display_stub = []
gfxstream = []

[dependencies]
anyhow = { workspace = true }
libc = { workspace = true }
base = { workspace = true }
linux_input_sys = { workspace = true }
remain = { workspace = true }
thiserror = { workspace = true }
cfg-if = { workspace = true }
serde = { workspace = true, features = [ "derive" ] }
vm_control = { workspace = true, features = ["gpu"] }
zerocopy = { version = "0.8.13", features = ["derive"] }
vulkano = { version = "0.31.1", optional = true }
ash = { version = "0.37.0", optional = true }
rand = { workspace = true, optional = true }
protos = { workspace = true, optional = true }
protobuf = { version = "3.2", optional = true }
euclid = { version = "0.22", optional = true }
smallvec = { version = "1", optional = true }
sync = { workspace = true }

[target.'cfg(windows)'.dependencies]
cros_tracing = { workspace = true }
metrics = { workspace = true }
num-traits = "0.2"
winapi = "0.3"
win_util = { path = "../win_util" }
smallvec = "1"
sync = { workspace = true }
euclid = "0.22"

[build-dependencies]
cc = "1.0.25"
pkg-config = "0.3.31"
cfg-if = { workspace = true }
which = "4"

[[example]]
name = "simple"
path = "examples/simple.rs"

[[example]]
name = "simple_open"
path = "examples/simple_open.rs"
required-features = ["x"]
