mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-15 07:20:31 +02:00
Measured with gpu/probe (exp30, exp32, exp34, exp35, exp42), bit exact on all of it (51911 points through general world, view and perspective matrices, position and depth): - The vertex position is truncated to a float24. - Each product in a matrix row keeps the exact value truncated at a fixed bit weight, 2^-15 below the two inputs' exponents combined, so a significand product of 2 or more keeps a 17th bit. - A row is one multi-operand sum: every product and the translation are truncated to the bit weight of the term with the largest exponent, added exactly, and the result becomes a float24. There's no order. - World, view and projection are combined as (world * view) * projection, each entry summed the same way and kept as a float24. The Coded Arms PSP replay gets worse (MSE 26 to 52). Its decals depend on per-pixel depth, whose interpolation hasn't been measured yet. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
To get to 100% compatibility, we will need a software renderer as there are games out there that do tricks that can't really be faked in a sensible way. Useful for homebrew too that mix sw and accel rendering.