[Mesa-dev] [RFC] GLX_MESA_query_renderer

Ian Romanick idr at freedesktop.org
Sun Mar 3 17:25:06 PST 2013

On 03/02/2013 07:00 AM, Christoph Bumiller wrote:
> On 02.03.2013 00:14, Ian Romanick wrote:
>> Since last September I've been gradually working on an extension to
>> let applications query information about the renderer before (and
>> after) creating a context.  I've talked it over with a few ISVs and
>> with various other folks.  I also gathered some input from folks at
>> FOSDEM after my talk there.  After going through several iterations of
>> review and modification, I think it's finally ready for wider input.
>> Some of the earliest feedback that I got was that many ISVs really
>> like the interface that fills this niche on Mac OS.  It's a pretty
>> nice API, and this API is modeled after it.  There are, however, some
>> differences.
>> I've pasted the spec below so that people can provide in-line
>> comments.  I've also pushed a branch with the spec and the initial
>> implementation.  There are a few things potentially provided by the
>> spec that are not included in the initial implementation.  I've
>> implemented a couple unit tests, and I have some piglit tests
>> in-progress.
>> http://cgit.freedesktop.org/~idr/mesa/log/?h=query-renderer
>> I'm mostly looking for input on the specification itself.  Once this
>> is good, I will also add EGL support.
> ...
>>      GLX renderer attribute         number     description
>>                                    of values
>>      ----------------------        ---------   -----------
>>      GLX_RENDERER_VENDOR_ID_MESA   1           PCI ID of the device vendor
>>      GLX_RENDERER_DEVICE_ID_MESA   1           PCI ID of the device
> ...
>>      5) How can applications tell the difference between different
>> hardware
>>      renderers for the same device?  For example, whether the renderer
>> is the
>>      open-source driver or the closed-source driver.
>>          RESOLVED.  Assuming this extension is ever implemented outside
>> Mesa,
>>          applications can query GLX_RENDERER_VENDOR_ID_MESA from
>>          glXQueryRendererStringMESA.  This will almost certainly return
>>          different strings for open-source and closed-source drivers.
> Why would the "PCI ID of the device vendor" change with the driver ?

Hopefully the PCI ID wouldn't change, but the resolution of this issue 
only applies to the string version of the query.

     GLX renderer attribute        description
     ----------------------        -----------
     GLX_RENDERER_VENDOR_ID_MESA   Name of the renderer provider.  This may
                                   differ from the vendor name of the
                                   underlying hardware.
     GLX_RENDERER_DEVICE_ID_MESA   Name of the renderer.  This may 
differ from
                                   the name of the underlying hardware 
                                   for a software renderer).

More information about the mesa-dev mailing list