From ae201bcd42a7b5efe5b21270e081d242d2a97aad Mon Sep 17 00:00:00 2001 From: nyanmisaka Date: Wed, 28 Sep 2022 02:38:42 +0800 Subject: [PATCH] gallium: Do not include offscreen winsys if glx is disabled Offscreen winsys introduced in Mesa 22.2 depends on glx(dri) and libswkmsdri. The error message is: /usr/bin/ld: src/gallium/auxiliary/libgalliumvlwinsys.a.p/vl_vl_winsys_dri_vgem.c.o: in function `vl_vgem_drm_screen_create': vl_winsys_dri_vgem.c:(.text.vl_vgem_drm_screen_create+0x28): undefined reference to `kms_dri_create_winsys' Fixes: 31dcb396 (gallium/vl: Add software winsys and offscreen winsys) Cc: mesa-stable Signed-off-by: nyanmisaka Reviewed-by: Sil Vilerino Part-of: --- src/gallium/auxiliary/meson.build | 2 +- src/gallium/frontends/va/context.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/meson.build b/src/gallium/auxiliary/meson.build index 0ef46d7cdb1..a22717869d0 100644 --- a/src/gallium/auxiliary/meson.build +++ b/src/gallium/auxiliary/meson.build @@ -475,7 +475,7 @@ endif if with_glx == 'xlib' or with_glx == 'gallium-xlib' files_libgalliumvlwinsys += files('vl/vl_winsys_xlib_swrast.c') -else +elif with_gallium_drisw_kms files_libgalliumvlwinsys += files('vl/vl_winsys_dri_vgem.c') endif diff --git a/src/gallium/frontends/va/context.c b/src/gallium/frontends/va/context.c index d9cfacba1dc..3c9360921c7 100644 --- a/src/gallium/frontends/va/context.c +++ b/src/gallium/frontends/va/context.c @@ -35,7 +35,9 @@ #include "vl/vl_winsys.h" #include "va_private.h" +#ifdef HAVE_DRISW_KMS #include "loader/loader.h" +#endif #include @@ -146,12 +148,14 @@ VA_DRIVER_INIT_FUNC(VADriverContextP ctx) FREE(drv); return VA_STATUS_ERROR_INVALID_PARAMETER; } +#ifdef HAVE_DRISW_KMS char* drm_driver_name = loader_get_driver_for_fd(drm_info->fd); if(drm_driver_name) { if (strcmp(drm_driver_name, "vgem") == 0) drv->vscreen = vl_vgem_drm_screen_create(drm_info->fd); FREE(drm_driver_name); } +#endif if(!drv->vscreen) drv->vscreen = vl_drm_screen_create(drm_info->fd); break;