mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 15:00:30 +02:00
Skinning did each component's weighted bone entries and its chain of GEAdds separately in scalar code. The components now go in lanes, with GEMulFloat24x4 for the weighted entries, one-term row sums for the products and GEAdd4 for the sums, in the same order. Checked against the scalar version on every vertex of 143 skinned frame dumps. GEMulFloat24x4 matches ProductToFloat24, so inf and NaN bone entries behave as before. GEAdd4 handles two zero operands without its fallback. 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.