From 6e359c2189541c6fe028ed75929ec473a00bc4d1 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 30 Jan 2023 19:02:31 +0100 Subject: [PATCH] egl: fix fd_display_gpu on surfaceless and device platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The original commit missed these. Signed-off-by: Simon Ser Fixes: 31013f3ce7cf ("egl: remove is_different_gpu variable from struct dri2_egl_display") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8194 Reviewed-by: Marek Olšák Part-of: --- src/egl/drivers/dri2/platform_device.c | 5 ++++- src/egl/drivers/dri2/platform_drm.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/egl/drivers/dri2/platform_device.c b/src/egl/drivers/dri2/platform_device.c index e2793eb2b01..59b669d615b 100644 --- a/src/egl/drivers/dri2/platform_device.c +++ b/src/egl/drivers/dri2/platform_device.c @@ -288,6 +288,8 @@ device_probe_device(_EGLDisplay *disp) if (dri2_dpy->fd_render_gpu < 0) return false; + dri2_dpy->fd_display_gpu = dri2_dpy->fd_render_gpu; + dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd_render_gpu); if (!dri2_dpy->driver_name) goto err_name; @@ -316,7 +318,7 @@ err_load: err_name: close(dri2_dpy->fd_render_gpu); - dri2_dpy->fd_render_gpu = -1; + dri2_dpy->fd_render_gpu = dri2_dpy->fd_display_gpu = -1; return false; } @@ -327,6 +329,7 @@ device_probe_device_sw(_EGLDisplay *disp) struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); dri2_dpy->fd_render_gpu = -1; + dri2_dpy->fd_display_gpu = -1; dri2_dpy->driver_name = strdup(disp->Options.Zink ? "zink" : "swrast"); if (!dri2_dpy->driver_name) return false; diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index e506288bba1..ebc73db5252 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -714,6 +714,7 @@ dri2_initialize_drm(_EGLDisplay *disp) goto cleanup; } } + dri2_dpy->fd_display_gpu = dri2_dpy->fd_render_gpu; dri2_dpy->gbm_dri = gbm_dri_device(gbm); if (strcmp(gbm_device_get_backend_name(gbm), "drm") != 0) {