mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 23:10:33 +02:00
The GE keeps the specular and spot exponents to 5 significant bits, truncated, and from 512 up (infinity and NaN included) uses 496. Only the specular one was truncated, and neither saturated. A huge or NaN exponent overflowed pspPow's bits: highlights wrong on every backend, and on D3D11, where the overflowing float to int conversion gives a NaN, black (Everybody's Golf, #22418). With the exponent clamped, t stays in range for every base the backends produce. Measured, now bit exact in the software renderer and within 4 levels on Vulkan. Fixes #22418 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>