6ea036766a
Fourth de-coupling for the host crate carve (plan §W6.1 leaf). gpu.rs (inventory, selection preference, active-session accounting — deps only pf-host-config + pf-paths, no subsystem refs) moves to a new pf-gpu leaf so pf-encode/pf-capture/pf-vdisplay can consult the selected GPU without an orchestrator edge. ~50 crate::gpu:: sites repoint to pf_gpu::; the ~30 pub(crate) items become pub (crate API). assign_ids gets a macOS-only allow(dead_code) (used only by the Linux/Windows enumerate arms). Verified: Linux (home-worker-5) clippy -p pf-gpu -p punktfunk-host --all-targets -D warnings + pf-gpu tests (12 pass); Windows (192.168.1.158) clippy --features nvenc,amf-qsv --all-targets green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
29 lines
922 B
TOML
29 lines
922 B
TOML
# GPU vendor/adapter detection + selection + the live-session record, extracted into a leaf crate so
|
|
# every subsystem crate (pf-encode, pf-capture, pf-vdisplay) can consult the selected GPU WITHOUT
|
|
# depending on the orchestrator (plan §W6). Self-contained: reads config + writes the pref store.
|
|
[package]
|
|
name = "pf-gpu"
|
|
version = "0.12.0"
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "punktfunk host GPU vendor/adapter enumeration, selection preference, and active-session accounting."
|
|
publish = false
|
|
|
|
[dependencies]
|
|
pf-host-config = { path = "../pf-host-config" }
|
|
pf-paths = { path = "../pf-paths" }
|
|
anyhow = "1"
|
|
tracing = "0.1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows = { version = "0.62", features = [
|
|
"Win32_Foundation",
|
|
"Win32_Graphics_Dxgi",
|
|
"Win32_Graphics_Dxgi_Common",
|
|
] }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|