mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-18 10:27:45 +02:00
SetFontPixel refused to write any pixel whose x fell outside bytesPerLine, so a glyph drawn into a buffer with a bytesPerLine narrower than its rows came out mostly blank. The hardware doesn't bound it that way - it works out an address and writes, so the rows overlap and the glyph smears across them. The declared bufWidth and bufHeight, plus the address check, are what keep it in bounds. Cache invalidation now covers the wider of bytesPerLine * bufHeight and where the last row actually ends, since those are no longer the same thing when the rows overlap. Fixes font/charglyphimage and font/charglyphimageclip, moved from tests_next to tests_good. The other font tests are unaffected, so whatever ails them is something else. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JvJR8oJNSCimCM9KXVLjfq