After giving a talk at FOSDEM last month on this topic, I finally finished my work on GLX_MESA_query_renderer... at least finished enough to send out for review by a wider audience.

The extension is modeled after Apple's CGLDescribeRenderer interface. Before even embarking on this project, several ISVs told me that they really liked that interface. There are some small changes, but it's still pretty similar.

The glXQueryRendererIntegerMESA and glXQueryRendererStringMESA functions allow applications query a bunch of aspects about the driver and hardware before creating a context:

  • Driver version
  • Driver vendor
  • Hardware vendor (may be different from driver vendor!)
  • Hardware chipset (PCI ID)
  • Available memory
  • UMA vs. non-UMA
  • Supported and prefered (by the driver) GL profiles

The last one is really important to know before creating a context because it may influence what sort of context that app creates. :)

The initial branch, with the extension spec, is available at:

http://cgit.freedesktop.org/~idr/mesa/log/?h=query-renderer