mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
egl/android: use swrast option in droid_load_driver
Load the kms_swrast driver when specified. Doesn't work with drm_gralloc. v2: remove unneeded line (@eric) v3: Remove swrast_loader_extensions (@evelikov) Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
parent
f90fc102ed
commit
d4e7982b6e
1 changed files with 18 additions and 0 deletions
|
|
@ -1365,6 +1365,21 @@ droid_load_driver(_EGLDisplay *disp, bool swrast)
|
|||
goto error;
|
||||
}
|
||||
#else
|
||||
if (swrast) {
|
||||
/* Use kms swrast only with vgem / virtio_gpu.
|
||||
* virtio-gpu fallbacks to software rendering when 3D features
|
||||
* are unavailable since 6c5ab.
|
||||
*/
|
||||
if (strcmp(dri2_dpy->driver_name, "vgem") == 0 ||
|
||||
strcmp(dri2_dpy->driver_name, "virtio_gpu") == 0) {
|
||||
free(dri2_dpy->driver_name);
|
||||
dri2_dpy->driver_name = strdup("kms_swrast");
|
||||
} else {
|
||||
err = "DRI3: failed to find software capable driver";
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
dri2_dpy->loader_extensions = droid_image_loader_extensions;
|
||||
if (!dri2_load_driver_dri3(disp)) {
|
||||
err = "DRI3: failed to load driver";
|
||||
|
|
@ -1432,6 +1447,9 @@ droid_open_device(_EGLDisplay *disp, bool swrast)
|
|||
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
|
||||
int fd = -1, err = -EINVAL;
|
||||
|
||||
if (swrast)
|
||||
return EGL_FALSE;
|
||||
|
||||
if (dri2_dpy->gralloc->perform)
|
||||
err = dri2_dpy->gralloc->perform(dri2_dpy->gralloc,
|
||||
GRALLOC_MODULE_PERFORM_GET_DRM_FD,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue