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

Jose Fonseca jfonseca at vmware.com
Mon Mar 25 10:14:11 PDT 2013

----- Original Message -----
> 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.

Hi Marek,

Sounds good in principle (and looks great in the screenshot!)

I've skimmed through http://cgit.freedesktop.org/~mareko/mesa/log/?h=hud and one thing I noticed is that there isn't a consistent prefix in the new hud module symbols/defines/source files ("hud_" is used in most cases, but not all). Please standardize that to prevent symbol collisions.

The gallium interface changes look alright.  We might eventually want to standardize some of these performance counters, but it looks perfectly adequate for now.


More information about the mesa-dev mailing list