feat(windows-drivers): pf-vdisplay STEP 0 scaffold + std-under-UMDF link gate

M1 step 2 begins. Add the wdk-iddcx (lib, re-exports wdk_sys::iddcx) + pf-vdisplay
(cdylib) workspace members. pf-vdisplay STEP 0 = DriverEntry + WdfDeviceCreate
skeleton + a #[used] _std_link_gate forcing std::thread + OwnedHandle to link, so
the build proves the std surface resolves under the wdk-build UMDF link settings
(kernel32 is /NODEFAULTLIB - std must come via OneCoreUAP). If std fails to link
here, the SwapChainProcessor worker-thread design needs a CreateThread shim before
any callback work (port-plan critique gap #9).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-24 15:49:03 +00:00
parent c31ae91b67
commit ab27aac134
7 changed files with 147 additions and 1 deletions
+18
View File
@@ -394,6 +394,17 @@ version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]]
name = "pf-vdisplay"
version = "0.0.1"
dependencies = [
"pf-vdisplay-proto",
"wdk",
"wdk-build",
"wdk-iddcx",
"wdk-sys",
]
[[package]]
name = "pf-vdisplay-proto"
version = "0.0.1"
@@ -735,6 +746,13 @@ dependencies = [
"windows",
]
[[package]]
name = "wdk-iddcx"
version = "0.0.1"
dependencies = [
"wdk-sys",
]
[[package]]
name = "wdk-macros"
version = "0.5.1"