[Mesa-dev] [PATCH 0/5] Head-up display for Gallium DRI2 drivers

Marek Olšák maraeo at gmail.com
Fri Mar 22 16:50:59 PDT 2013


Hi everyone, one image is better than a thousand words:

http://people.freedesktop.org/~mareko/gallium-hud.png

So there you have it. This gallium module can draw transparent graphs and text on top of what apps are rendering. By default, it can show framerate, cpu load (each CPU or the average of all of them), and the results of PRIMITIVES_GENERATED and OCCLUSION_COUNTER queries (the latter is printed as "pixels rendered"). Furthermore, there is a new interface for gallium allowing drivers to expose driver-specific queries in a way similar to GL_AMD_performance_monitor. It uses the existing pipe_query interface. Drivers can use this to expose performance counters or other internal information. BTW, I guess I should mention that I ripped the font off from freeglut.

The HUD is controlled by the GALLIUM_HUD environment variable, where you can list names of data sources. Set GALLIUM_HUD=help for more info, it also prints all available names (including the driver-specific queries). This is what I used for the image above:

GALLIUM_HUD="cpu0+cpu1+cpu2+cpu3:100,cpu:100,fps;draw-calls,requested-VRAM+requested-GTT,pixels-rendered"

So basically I'd like to be able to display as much useful info in the HUD as possible. We should definitely add some ioctls for querying useful stats from the kernel DRM/TTM and be able to see in real time what happens in Mesa and the kernel. It's pretty easy - just expose a new query through the gallium interface and the HUD will automatically pick it up.

(for moderators: the second patch might get stuck in the moderation queue)

Marek


More information about the mesa-dev mailing list