egl: don't bind zink under dri2/3
If we are in dri2/3 paths and the loader picks zink for this fd don't bind it here, let the fallbacks work. Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27628>
This commit is contained in:
@@ -744,6 +744,11 @@ dri2_x11_connect(struct dri2_egl_display *dri2_dpy)
|
|||||||
strndup(driver_name, xcb_dri2_connect_driver_name_length(connect));
|
strndup(driver_name, xcb_dri2_connect_driver_name_length(connect));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!strcmp(dri2_dpy->driver_name, "zink")) {
|
||||||
|
close(dri2_dpy->fd_render_gpu);
|
||||||
|
return EGL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
if (dri2_dpy->driver_name == NULL) {
|
if (dri2_dpy->driver_name == NULL) {
|
||||||
close(dri2_dpy->fd_render_gpu);
|
close(dri2_dpy->fd_render_gpu);
|
||||||
free(connect);
|
free(connect);
|
||||||
|
@@ -634,6 +634,12 @@ dri3_x11_connect(struct dri2_egl_display *dri2_dpy)
|
|||||||
|
|
||||||
if (!dri2_dpy->driver_name)
|
if (!dri2_dpy->driver_name)
|
||||||
dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd_render_gpu);
|
dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd_render_gpu);
|
||||||
|
|
||||||
|
if (!strcmp(dri2_dpy->driver_name, "zink")) {
|
||||||
|
close(dri2_dpy->fd_render_gpu);
|
||||||
|
return EGL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
if (!dri2_dpy->driver_name) {
|
if (!dri2_dpy->driver_name) {
|
||||||
_eglLog(_EGL_WARNING, "DRI3: No driver found");
|
_eglLog(_EGL_WARNING, "DRI3: No driver found");
|
||||||
close(dri2_dpy->fd_render_gpu);
|
close(dri2_dpy->fd_render_gpu);
|
||||||
|
Reference in New Issue
Block a user