vl: Always enable drm winsys.

The dri2 winsys also uses libdrm (and you can only enable dri3 if
you enable dri2), and the drm winsys only requires libdrm.

So if any winsys is enabled you can also enable the drm winsys, and
since we always want at least one winsys we can always enable it.

I removed the check for the drm platform for VA and OMX since they
do not care anymore. Since we still check for one of r600g, nouveau
or radeonsi, we are guarantueed to still only enable it by default
in a configuration that requires libdrm anyway. So for people using
va=auto, we don't suddenly start requiring libdrm were we did not
before.

This supersedes "vl: Enable DRM by default.", which I pushed, but
rolled back because it used dep_libdrm before its definition.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
Bas Nieuwenhuizen
2019-06-05 14:34:23 +02:00
parent b4c7ce360b
commit cb728f28ac
3 changed files with 3 additions and 21 deletions

View File

@@ -503,12 +503,6 @@ if not system_has_kms_drm
else
error('OMX state tracker can only be built on unix-like OSes.')
endif
elif not (with_platform_x11 or with_platform_drm)
if ['auto', 'disabled'].contains(_omx)
_omx = 'disabled'
else
error('OMX state tracker requires X11 or drm platform support.')
endif
elif not (with_gallium_r600 or with_gallium_radeonsi or with_gallium_nouveau)
if ['auto', 'disabled'].contains(_omx)
_omx = 'disabled'
@@ -589,12 +583,6 @@ if not system_has_kms_drm
else
_va = 'false'
endif
elif not (with_platform_x11 or with_platform_drm)
if _va == 'true'
error('VA state tracker requires X11 or drm or wayland platform support.')
else
_va = 'false'
endif
elif not (with_gallium_r600 or with_gallium_radeonsi or with_gallium_nouveau)
if _va == 'true'
error('VA state tracker requires at least one of the following gallium drivers: r600, radeonsi, nouveau.')

View File

@@ -479,7 +479,8 @@ files_libgalliumvl = files(
)
vlwinsys_deps = []
files_libgalliumvlwinsys = files('vl/vl_winsys.h')
files_libgalliumvlwinsys = files('vl/vl_winsys.h',
'vl/vl_winsys_drm.c')
if with_dri2 and with_platform_x11
files_libgalliumvlwinsys += files('vl/vl_winsys_dri.c')
if with_dri3
@@ -490,9 +491,6 @@ if with_dri2 and with_platform_x11
files_libgalliumvlwinsys += files('vl/vl_winsys_dri3.c')
endif
endif
if with_platform_drm
files_libgalliumvlwinsys += files('vl/vl_winsys_drm.c')
endif
u_indices_gen_c = custom_target(
'u_indices_gen.c',

View File

@@ -92,12 +92,8 @@ static inline struct vl_screen *
vl_dri3_screen_create(void *display, int screen) { return NULL; };
#endif
#ifdef HAVE_DRM_PLATFORM
/* Always enable the DRM vl winsys */
struct vl_screen *
vl_drm_screen_create(int fd);
#else
static inline struct vl_screen *
vl_drm_screen_create(int fd) { return NULL; };
#endif
#endif