mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 15:00:30 +02:00
The range check was written as tests for outside, which are all false for NaN, so a NaN vertex passed and was converted to an integer. That differs by CPU: arm64 gives 0, which lands off screen, while x86-64 gives INT_MIN, which wraps, and the triangle's area overflowed into a huge sliver. In the recording-opengl and recording-vulkan dumps that drew a beam across the top right that a PSP replay of the dump doesn't show. Now such a vertex is flagged, and its triangles dropped, on both. 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.