[Mesa-dev] [PATCH 2/3] specs: Add EGL_MESA_device_software

Emil Velikov emil.l.velikov at gmail.com
Thu Aug 10 16:32:43 UTC 2017

On 8 August 2017 at 19:42, Adam Jackson <ajax at redhat.com> wrote:
> On Tue, 2017-08-08 at 19:11 +0100, Emil Velikov wrote:
>> On 2 August 2017 at 21:24, Adam Jackson <ajax at redhat.com> wrote:
>> > The device extension string is expected to contain the name of the
>> > extension defining what kind of device it is, so the caller can know
>> > what kinds of operations it can perform with it. So that string had
>> > better be non-empty, hence this trivial extension.
>> >
>> Is there something that forbids a EGL device to advertise an empty string?
>> I don't recall such text.
> Not strictly "forbids" I suppose, but it does seem to be implied.
> EGL_EXT_device_query says:
>>     The EGL_EXTENSIONS string describes which device extensions are
>>     supported by <device>.  The string is of the same format specified
>>     for display and client extension strings in section 3.4. Note that
>>     device extensions are properties of the device, and are distinct
>>     from other extension strings.
> It's not clear to me what a device that exposes zero device extensions
> would mean. If you had two such devices, how would you distinguish
> between them?
I take this as "will be defined in future extensions", but does not
forbid them by any means.
It will be quite bizarre of cours.

I'm asking all of this, since in my last respin of the EGL device
patches (some months ago in a local repo) I always advertised
it made things more robust and easier. I'll see if I can rebase that
and send it over, but I'm juggling a few other things atm.

> Probably the device_query spec should make this more
> explicit.
> NVIDIA's EGL returns EGL_EXT_device_drm and EGL_NV_device_cuda in this
> string; I haven't tested on any other implementations (in fact am not
> aware of other implementations of EXT_device_query). I imagine llvmpipe
> would say both MESA_device_software and EXT_device_drm if it was
> rendering to vgem.
I've been pondering on EXT_device_drm_render which will allow devices
to advertise the render node string.
Since in the DRI3 case one does not need the primary card node and the
associated platform specific auth magic.

Do you think it makes sense?

I have some WIP patches for that as well.

>> Drop "fallback"? Despite how crazy it sounds it's not impossible to
>> have a system with only software device(s).
> Good point, fixed. I think I also want to keep this one as a MESA
> extension, there could be other software devices with meaningfully
> different capabilities.


More information about the mesa-dev mailing list