Intel Mesa Developers Hook-Up GL_INTEL_performance_query

Written by Michael Larabel in Intel on 12 March 2014 at 09:54 AM EDT. Add A Comment
INTEL
Intel Mesa developers have added support to their open-source Mesa Linux graphics driver for the GL_INTEL_performance_query extension, which is yet another OpenGL extension exposing performance diagnostic information.

The GL_INTEL_performance_query extension is similar to AMD_performance_monitor, but it's Intel's own approach for exposing GPU performance counter information. The extension is similar to AMD_performance_monitor to the point of Intel using the same driver hooks. Other extensions worked on recently for helping Linux game developers and others in debugging (or optimizing) their OpenGL workloads is the KHR_debug extension and some semi-related GLX work is the MESA_query_renderer, among other work.

Petri Latvala of Intel sent out a set of six patches this morning that do the plumbing work for supporting the GL_INTEL_performance_query extension. Petri wrote, "This patch series implements the INTEL_performance_query extension. With driver code for AMD_performance_monitor already in place, implementing this extension was fairly straightforward. Planned future improvements: Proper semantic types for counters and data normalization (currently all counters are exposed as 'RAW' without per-second maximum). Pseudo-counters for things like 'time spent in shader compilation' or 'forced recompilation event count'."

While one of the patches add Mesa core support for GL_INTEL_performance_query, only the classic Intel Mesa DRI driver is taking advantage of this extension and not any of the other Mesa/Gallium3D drivers. For the Intel driver, the extension should work on "Gen5" era hardware and newer.
Like AMD_performance_monitor, this extension provides an interface for applications (and OpenGL-based tools) to access GPU performance counters. Since the exact performance counters available vary between vendors and hardware generations, the extension provides an API the application can use to get the names, types, and minimum/maximum values of all available counters.

Applications create performance queries based on available query types, and begin/end measurement collection. Multiple queries can be measuring simultaneously.
The GL_INTEL_performance_query extension was made public last year and its specification can be found via the OpenGL.org registry. Expect this work to land for Mesa 10.2.
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