[Mesa-dev] [PATCH 7/8] egl: keep the software device at the end of the list
Marek Olšák
maraeo at gmail.com
Thu May 16 18:49:18 UTC 2019
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Thu, May 16, 2019 at 1:03 PM Emil Velikov <emil.l.velikov at gmail.com>
wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> By default, the user is likely to pick the first device so it should
> not be the least performant (aka software) one.
>
> v2: Drop odd comment (Marek)
>
> Suggested-by: Marek Olšák <maraeo at gmail.com>
> Reviewed-by: Mathias Fröhlich <Mathias.Froehlich at web.de> (v1)
> Reviewed-by: Marek Olšák <marek.olsak at amd.com> (v1)
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> src/egl/main/egldevice.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/src/egl/main/egldevice.c b/src/egl/main/egldevice.c
> index c5c9a21273a..82af1f47fed 100644
> --- a/src/egl/main/egldevice.c
> +++ b/src/egl/main/egldevice.c
> @@ -293,13 +293,25 @@ _eglQueryDevicesEXT(EGLint max_devices,
> goto out;
> }
>
> + /* Push the first device (the software one) to the end of the list.
> + * Sending it to the user only if they've requested the full list.
> + *
> + * By default, the user is likely to pick the first device so having
> the
> + * software (aka least performant) one is not a good idea.
> + */
> *num_devices = MIN2(num_devs, max_devices);
>
> - for (i = 0, dev = devs; i < *num_devices; i++) {
> + for (i = 0, dev = devs->Next; dev && i < max_devices; i++) {
> devices[i] = dev;
> dev = dev->Next;
> }
>
> + /* User requested the full device list, add the sofware device. */
> + if (max_devices >= num_devs) {
> + assert(_eglDeviceSupports(devs, _EGL_DEVICE_SOFTWARE));
> + devices[num_devs - 1] = devs;
> + }
> +
> out:
> mtx_unlock(_eglGlobal.Mutex);
>
> --
> 2.21.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190516/ac8152f8/attachment.html>
More information about the mesa-dev
mailing list