diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-11-02 02:31:57 -0500 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-11-02 02:31:57 -0500 |
| commit | 82e34d410ff6fdffa4916c90faa05c676a5d65e4 (patch) | |
| tree | 15a8fdcbf41f6f873b4843fa7565e1c57da498b3 /src/video_core/gpu_logging/gpu_logging.cpp | |
| parent | 9c55e70d790a4cc9507d80dbb9a9d6224175574e (diff) | |
nx2: decode sRGB in the upscale fallback when the program does
Splatoon Raiders' upscaler program ends by decoding its result from
sRGB to linear (HSETP2 against 0.04045, HMUL2 by 2.4 between MUFU.LG2
and MUFU.EX2) before its surface store. The bilinear copy that stands in
for it while HMMA isn't emulated wrote the sRGB input as-is, so the
later passes encoded it a second time: outdoor scenes were washed out,
with a pale sky and a white haze.
When the program carries those two immediates, the copy now decodes
like it, through a new copy operation of the blit helper (a fragment
shader with the piecewise sRGB decode). Programs without them, such as
Kirby Air Riders' upscaler, keep the plain copy. The OpenGL backend
ignores the operation.
Diffstat (limited to 'src/video_core/gpu_logging/gpu_logging.cpp')
0 files changed, 0 insertions, 0 deletions
