The host sampled the shared backbuffer copy through a view typed exactly like the game's backbuffer. For games whose backbuffer is an *_SRGB format (e.g. Life is Strange: Before the Storm -- confirmed R8G8B8A8_UNORM_SRGB / fmt 29 via the hook log), the GPU decoded sRGB->linear on the sample, and the host then wrote those linear values straight to its plain-UNORM swapchain with no re-encode, so the mirror came out noticeably darker than the game. Sample the copy as the plain-UNORM sibling of the format (srgb_to_unorm) so the bytes pass through unchanged -- matching what WGC already does. The UNORM and *_SRGB formats share a typeless group, so CopyResource from the producer's sRGB texture into the host's UNORM copy is allowed. Non-sRGB formats are unaffected. Adds srgb_format_test locking the mapping. All 6 tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.6 KiB
1.6 KiB