Optional GPUVis support to visualize KMS fence/event timeline
This is the final set of changes I had in preparation for the XDC talk. It adds optional GPUVis support with hooks to record
- CPU time when event handler is called
- diff between actual and expected time (you can plot that easily in GPUVis, nicely showing when frames have been dropped)
- time it took to repaint a single output
- absolute time of out-fence being signaled
- absolute time of event timestamp that was passed to DRM event handler
The last two items depend on using monotonic clock as the ftrace clock (i.e. echo mono > /sys/kernel/tracing/trace_clock
), and a feature of GPUVis to allow injecting absolute timestamps into its timeline (recently merged in).
I am not sure if this is something that we should merge into kms-quads for general availability, it goes a bit beyond the idea of a simple straight-forward KMS sample and it might add some distraction for people reading the source code at first. But on the other hand, it's a nice and simple way to observe the actual timeline of the program. What do you think?