NVIDIA/Nouveau PerfKit Implemented Over Gallium3D State Tracker
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.
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.
2 Comments