Some VRR vblank/pageflip timestamping fixes.
Mario Kleiner
mario.kleiner.de at gmail.com
Mon Feb 11 03:22:22 UTC 2019
These fix the currently broken vblank timestamping in VRR
mode and broken pageflip timestamping in VRR mode. The unfixed
implementation can provide timestamps that are off by dozens
of milliseconds and thereby make VRR unusable for any application
that needs at least millisecond precision in timing.
Patch 1/3 should fix vblank timestamps to be accurate according to
the definition of what a vblank timestamps means in VRR mode.
Patch 2/3 + 3/3 make pageflip completion event timestamps at least
approximately correct, by reporting a pageflip completion timestamp
that is the invocation time of the pageflip irq handler.
Patch 3/3 is still a crude approach, but much less wrong than before.
I have a followup patch in the making that aims to restore the same
precision for pageflip timestamps as in non-VRR mode, but isn't
quite ready yet, as it fails in about < 1% of all flips if one
pushes VRR hard enough.
thanks,
-mario
More information about the amd-gfx
mailing list