"mesa: make glPopMatrix a no-op if the matrix hasn't changed" breaks Neverball on Mali-T860
Bisection found that commit e6ecd221 ("mesa: make glPopMatrix a no-op if the matrix hasn't changed") causes incorrect rendering in Neverball on Mali-T860 (Panfrost). When collecting a coin in game, the point-sprite stars popping out of the coin are in the wrong places (including off screen?) indicating an incorrect transformation matrix, consistent with the bisection result. Note that the stars in the title screen still render correctly, allowing the regression to slip past the trace-based testing in CI. Reverting this commit on top of upstream fixes the regression.
Cc @mareko as the author of the patch. I am unfamiliar with the matrix code in Mesa -- it is possible that this commit is buggy, but it is also possible that that is a driver bug it unmasks.