Every IDD-push capture stall now carries a VERDICT instead of a hypothesis list. The shared ring header grows a v2 telemetry tail (drain-loop heartbeat QPC, last-acquire QPC, full-width offered counter) the driver stamps on every drain pass; the host samples it between fresh frames and attributes each stall: worker-stalled (our thread starved) / compose-silence (DWM composed nothing — the disturbance is below capture) / delivery-leg (frames existed, our publish/ring/consume lost them). The metronomic WARN prints the running tally, so one pasted log line settles the Branch-1/Branch-2 fork of the vdisplay-disturbance-immunity program per session, per box. Both directions stay version-safe: the tail is gated on the HOST-stamped header version (a v2 driver never writes past a v1 host's 64-byte layout — it maps the whole section instead of a fixed 88 bytes), and a v2 host reads a zero heartbeat as pre-telemetry driver, no verdict. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
45 lines
1.3 KiB
TOML
45 lines
1.3 KiB
TOML
# pf-vdisplay — the all-Rust UMDF IddCx virtual-display driver (M1 step-2 rewrite onto wdk-sys + the
|
|
# owned pf-driver-proto ABI). Replaces the vendored-binding oracle at packaging/windows/vdisplay-driver/
|
|
# (deleted once on-glass parity is reached, per design/windows-host-rewrite.md §14 STEP 8).
|
|
[package]
|
|
name = "pf-vdisplay"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
publish = false
|
|
|
|
[package.metadata.wdk.driver-model]
|
|
driver-type = "UMDF"
|
|
umdf-version-major = 2
|
|
target-umdf-version-minor = 31
|
|
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
|
|
[build-dependencies]
|
|
wdk-build.workspace = true
|
|
|
|
[dependencies]
|
|
wdk.workspace = true
|
|
wdk-sys = { workspace = true, features = ["iddcx"] }
|
|
wdk-iddcx.workspace = true
|
|
pf-driver-proto.workspace = true
|
|
# STEP 5: the swap-chain processor's render-side D3D11 device + worker. 0.58.0 matches the wdk-build
|
|
# transitive `windows` already in the workspace lock (one resolved version) AND the proven oracle's
|
|
# version, so the ported D3D/DXGI/threading calls compile verbatim.
|
|
thiserror = "2.0"
|
|
|
|
[dependencies.windows]
|
|
version = "0.58.0"
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_Security",
|
|
"Win32_System_Memory",
|
|
"Win32_System_Performance",
|
|
"Win32_System_Threading",
|
|
"Win32_Graphics_Direct3D",
|
|
"Win32_Graphics_Direct3D11",
|
|
"Win32_Graphics_Dxgi",
|
|
"Win32_Graphics_Dxgi_Common",
|
|
]
|