Since vertexes are now stored as uint8_t instead of the previous int24_t, data overflows are now a major issue. For some reason this seems to only affect the top of the Y axis, which does make sense when you consider the viewport is goes from x16-144 and y0-128, as none of these values are above 255 and only the top Y axis is 0. The easy fix would to just revert that single Y vertex to a int24_t, which will probably be the best bet and have no visible performance difference whatsoever. I'll see if I can find a different solution, but for now, it looks like the best choice to accept the negligible 0.002% performance decrease in order to remove major screen artifacts that render the viewport useless.
Since vertexes are now stored as
uint8_tinstead of the previousint24_t, data overflows are now a major issue. For some reason this seems to only affect the top of the Y axis, which does make sense when you consider the viewport is goes from x16-144 and y0-128, as none of these values are above 255 and only the top Y axis is 0. The easy fix would to just revert that single Y vertex to aint24_t, which will probably be the best bet and have no visible performance difference whatsoever. I'll see if I can find a different solution, but for now, it looks like the best choice to accept the negligible 0.002% performance decrease in order to remove major screen artifacts that render the viewport useless.