Skip to content

Optional GPUVis support to visualize KMS fence/event timeline

Heinrich Fink requested to merge heinrich.fink/kms-quads:gpuvis-support into master

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?

Merge request reports

Loading