diff --git a/crates/pf-vdisplay-proto/src/lib.rs b/crates/pf-vdisplay-proto/src/lib.rs index 3653c080..b7c98b98 100644 --- a/crates/pf-vdisplay-proto/src/lib.rs +++ b/crates/pf-vdisplay-proto/src/lib.rs @@ -276,7 +276,7 @@ pub mod frame { /// These were hand-duplicated as `OFF_*`/`SHM_*` constants in `inject/{gamepad,dualsense}_windows.rs` /// and (as bare literals — `*view.add(140)`) in the standalone `xusb-driver`/`dualsense-driver` /// workspaces, guarded only by "must match" comments — the top ABI-drift hazard the audit flagged -/// (`docs/windows-host-rewrite-audit.md` §6.1). Owning them here with `Pod` derives + `offset_of!` +/// (`docs/windows-host-rewrite.md` §2.7). Owning them here with `Pod` derives + `offset_of!` /// asserts makes a one-sided edit a compile error. /// /// The host creates the section (privileged, permissive DACL so the restricted WUDFHost token can diff --git a/crates/punktfunk-host/src/capture/windows/idd_push.rs b/crates/punktfunk-host/src/capture/windows/idd_push.rs index e7625b7a..51ecef09 100644 --- a/crates/punktfunk-host/src/capture/windows/idd_push.rs +++ b/crates/punktfunk-host/src/capture/windows/idd_push.rs @@ -435,7 +435,7 @@ impl IddPushCapturer { /// Block (bounded) until the driver has ATTACHED to the host ring (`DRV_STATUS_OPENED`) **and published /// a first frame**, else fail so the caller can fall back to DDA (audit §5.1 + - /// `docs/windows-host-rewrite-game-capture-bug.md` P3/Stage 1). + /// `docs/windows-host-rewrite.md` §2.5 — the GB1 game-capture fix). /// /// Requiring the first frame — not just the attach — catches the *reconnect-into-a-broken-state* case: /// a fullscreen game can leave the virtual display in a format/size that the driver's `publish()` guard diff --git a/crates/punktfunk-host/src/config.rs b/crates/punktfunk-host/src/config.rs index 2705955e..b571a97c 100644 --- a/crates/punktfunk-host/src/config.rs +++ b/crates/punktfunk-host/src/config.rs @@ -4,7 +4,7 @@ //! environment before the host starts, and **for the knobs captured here the environment is constant for the //! process lifetime**, so a lazily-parsed global is equivalent to "parsed once at startup". //! -//! **Goal-1 stages 1–2** (`docs/windows-host-goal1-plan.md`): stage 1 stood this up; stage 2 migrated the +//! **Goal-1 stages 1–2** (`docs/windows-host-rewrite.md` §2.2): stage 1 stood this up; stage 2 migrated the //! genuinely-constant operator/dispatch knobs onto it (the dispatch-disagreement bug class: `idd_push`, //! `capture_backend`, `encoder_pref`, `render_adapter`, `no_wgc`, the vdisplay backend select — plus the //! plan-named `secure_dda`/`idd_depth`/`zerocopy`/`ten_bit` and the multi-site `perf`/`compositor`/ diff --git a/crates/punktfunk-host/src/session_plan.rs b/crates/punktfunk-host/src/session_plan.rs index 1e83aa88..ecb9d3db 100644 --- a/crates/punktfunk-host/src/session_plan.rs +++ b/crates/punktfunk-host/src/session_plan.rs @@ -1,7 +1,7 @@ //! `SessionPlan` — the per-session capture / topology / encoder decision, resolved **once** from //! [`HostConfig`](crate::config) (+ the handshake-negotiated bit depth) into a typed, logged value. //! -//! **Goal-1 stage 3** (`docs/windows-host-goal1-plan.md`): before this, the Windows session decision was +//! **Goal-1 stage 3** (`docs/windows-host-rewrite.md` §2.2): before this, the Windows session decision was //! re-derived at three call sites — the capture backend inside `capture::capture_virtual_output`, the //! process topology in `punktfunk1::should_use_helper`, and the encode backend in //! `encode::windows_resolved_backend` — each reading [`config`](crate::config) independently, with no diff --git a/packaging/windows/drivers/pf-vdisplay/src/adapter.rs b/packaging/windows/drivers/pf-vdisplay/src/adapter.rs index 6d98ada7..070beb11 100644 --- a/packaging/windows/drivers/pf-vdisplay/src/adapter.rs +++ b/packaging/windows/drivers/pf-vdisplay/src/adapter.rs @@ -147,7 +147,7 @@ pub(crate) fn adapter() -> Option { /// iGPU+dGPU box the OS may otherwise pick the iGPU to render the virtual monitor, so the host's shared /// ring textures (created on the NVENC dGPU) can't be opened → `DRV_STATUS_TEX_FAIL` → the host's 20 s /// black bail. Pinning the render adapter to the encode GPU fixes that. Unconditional — NOT the -/// SudoVDA-parity default-off branch (`docs/windows-host-rewrite-audit.md` §4.2). Returns +/// SudoVDA-parity default-off branch (`docs/windows-host-rewrite.md` §2.8). Returns /// `STATUS_NOT_FOUND` if called before the adapter exists. pub fn set_render_adapter(luid_low: u32, luid_high: i32) -> NTSTATUS { let Some(adapter) = adapter() else { diff --git a/packaging/windows/drivers/pf-vdisplay/src/control.rs b/packaging/windows/drivers/pf-vdisplay/src/control.rs index 7aa5d39d..49ed7278 100644 --- a/packaging/windows/drivers/pf-vdisplay/src/control.rs +++ b/packaging/windows/drivers/pf-vdisplay/src/control.rs @@ -27,7 +27,7 @@ static WATCHDOG_STARTED: AtomicBool = AtomicBool::new(false); /// without a cooperative REMOVE (crash / `TerminateProcess`) left its virtual monitor + swap-chain /// worker + pooled D3D device wedged in WUDFHost until the next host start's CLEAR_ALL, and a /// not-restarted host left the orphan monitor in the desktop topology indefinitely -/// (`docs/windows-host-rewrite-audit.md` §4.1). This thread closes that: if no IOCTL arrives for +/// (`docs/windows-host-rewrite.md` §2.8). This thread closes that: if no IOCTL arrives for /// `WATCHDOG_TIMEOUT_S` while monitors exist, it departs them all. /// /// (A WDF `EvtFileClose` on the control handle would be more immediate — the plan's preferred §3.4