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

Adam Jackson ajax at redhat.com
Tue Aug 8 18:42:26 UTC 2017

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? Probably the device_query spec should make this more

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.

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

- ajax

More information about the mesa-dev mailing list