Clean up a stale Vulkan-layer registration at host startup

register_vk_layer writes an HKCU implicit-layer entry that makes the loader pull
our DLL into every Vulkan app; it's session-scoped (unregistered on clean exit).
If the host crashed or was killed while registered, the entry leaked and kept
loading our DLL into every Vulkan process until the next clean run.

Add cleanup_stale_vk_layer(), called once at the top of run(): since registration
is opt-in per session, anything registered at startup is a crash leftover, so it
removes it (delegates to unregister_vk_layer). No-op when nothing is registered.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-24 02:22:06 +02:00
parent d318ae62a1
commit b96a559500
4 changed files with 18 additions and 4 deletions

View File

@@ -113,10 +113,6 @@ default** and covers anything the hooked path doesn't.
From an in-depth review pass. Each item is fixed test-first (a failing test, then the fix) and lands
as its own commit; "verify" items are confirmed real before any change, and dropped if not.
Features:
- **Stale Vulkan-layer registration cleanup** — remove a leftover `HKCU` implicit-layer entry from a
crashed prior run on host startup.
UX:
- **Auto re-attach control** — keep it visible/controllable when not connected (today it can be
enabled-but-invisible).