renderer: improve modeset timings (#11461)

some CRTCs will just happily eat frames and we can't do much. Some will eat one.

Adds a 5-frame buffer to DPMS and Added animations. Better than nothing.
This commit is contained in:
Vaxry 2025-08-17 17:14:29 +01:00 committed by GitHub
parent 251288ec59
commit 0840103ae0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 38 additions and 8 deletions

View file

@ -183,12 +183,15 @@ class CMonitor {
// for dpms off anim
PHLANIMVAR<float> m_dpmsBlackOpacity;
bool m_pendingDpmsAnimation = false;
bool m_pendingDpmsAnimation = false;
int m_pendingDpmsAnimationCounter = 0;
PHLANIMVAR<float> m_cursorZoom;
// for initial zoom anim
PHLANIMVAR<float> m_zoomAnimProgress;
CTimer m_newMonitorAnimTimer;
int m_zoomAnimFrameCounter = 0;
struct {
bool canTear = false;