From 79399e88f14d89f6b890ce7741da6b2f2add8abf Mon Sep 17 00:00:00 2001 From: BlackMark Date: Tue, 23 Jun 2026 01:16:12 +0200 Subject: [PATCH] Add roadmap task: validate Vulkan backend against a real game Adds a fourth Current Task: exercise the Vulkan capture path end-to-end on Sphere Spectacle (Steam appid 1123040) via both early-presence methods (Auto-attach and the implicit coop_vk_layer), verifying capture, image correctness, and no performance regression. Co-Authored-By: Claude Opus 4.8 --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 4b632e6..fe77723 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,18 @@ default** and covers anything the hooked path doesn't. (`IDirectInputDevice8::GetDeviceState/GetDeviceData`) don't see it. Add hooks for those paths to synthesize the forwarded input there too. +- **Validate the Vulkan backend against a real game.** Exercise the Vulkan capture path + end-to-end on a shipping title — **Sphere Spectacle** (Steam appid 1123040, + `start steam://rungameid/1123040`) — not just `coop_mock_game`. Cover **both** early-presence + methods: **Auto-attach** (suspended-launch + inject + resume, so the hook arms before the game + calls `vkCreateInstance`) and the implicit **capture layer** (`coop_vk_layer` registered for the + game). For each, confirm: (a) it *captures* — frames reach the shared texture and advance; (b) the + mirrored image is *correct* — right resolution, letterboxed, correct colors/brightness (no + `*_SRGB` darkening, no BGRA/RGBA swizzle error), checked against a WGC reference and saved + screenshots; and (c) it doesn't *regress performance* — measure the game's present cadence / + frame time with capture off vs on and confirm no material drop (the per-frame `vkCmdCopyImageToBuffer` + read-back + present-semaphore re-chain must stay off the game's critical path). + ## Building Requirements: Windows 10/11, Visual Studio 2022 (MSVC + C++ workload), CMake ≥ 3.21.