pipe-loader: Stop trying to use kmsro for vgem

Fixes two OpenCL devices being created for a single kmsro-using GPU
when vgem is enabled in the kernel.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9380>
This commit is contained in:
Icecream95 2021-03-03 09:11:17 +13:00 committed by Marge Bot
parent 06a883cfe5
commit 27b5ee5d7a

View file

@ -156,6 +156,10 @@ pipe_loader_drm_probe_fd_nodup(struct pipe_loader_device **dev, int fd)
#endif
ddev->dd = get_driver_descriptor(ddev->base.driver_name, plib);
/* vgem is a virtual device; don't try using it with kmsro */
if (strcmp(ddev->base.driver_name, "vgem") == 0)
goto fail;
/* kmsro supports lots of drivers, try as a fallback */
if (!ddev->dd)
ddev->dd = get_driver_descriptor("kmsro", plib);