NVIDIA/Nouveau PerfKit Implemented Over Gallium3D State Tracker

Written by Michael Larabel in Nouveau on 2 June 2015 at 04:32 PM EDT. 2 Comments
Samuel Pitoiset today unveiled his long sought after patches for implementing NVIDIA's PerfKit performance utility as a Gallium3D state tracker for use by the open-source Linux graphics drivers.

Going back to 2013 this original student open-source contributor to the Nouveau project has been working on an open-source NVIDIA PerfKit-like solution with his implementing of NVIDIA performance counters in the reverse-engineered Nouveau driver. As explained in an earlier Phoronix article, "NVIDIA offers 'PerfKit' to Windows developers as an advanced software suite for measuring the performance of -- and debugging -- OpenGL and Direct3D applications. The closed-source PerfKit reads these performance counters from the driver to understand bottlenecks and other issues in the game/application under test."

NVIDIA used to offer PerfKit for Linux but these days PerfKit is Windows-only with the exception of it being available on Linux for use by the Tegra K1. Samuel implemented "Nouveau-PerfKit" as a Gallium3D state tracker implementing the PerfKit 3.0.1 interface. This PerfKit state tracker is loosely based on the VDPAU state tracker design and should be adaptable by other Gallium3D hardware drivers if they expose performance counters.

This PerfKit state tracker for Gallium3D with Nouveau NVC0 MP counters support comes in at less than two thousand lines of code. More details can be found via this mailing list post by Samuel Pitoiset. Right now the patches are under a "request for comments" state but will hopefully be ready as an addition for the Mesa 10.7 development cycle.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week