From 5bc509363b6dbc42af72668fe500b6aec988dbf0 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 16 Nov 2018 11:15:37 +0000 Subject: [PATCH] glx: make xf86vidmode mandatory for direct rendering Currently we detect the module and if missing, the glXGetMsc* API is effectively a stub, always returning false. This is what effectively has been happening with our meson build :-( Thus users have no chance of using it - they cannot even distinguish if the failure is due to a misconfigured build. There's no reason for keeping xf86vidmode optional - it has been available in all distributions for years. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Emil Velikov Acked-by: Dylan Baker Reviewed-by: Eric Engestrom Fixes: a47c525f3281a2753180e "meson: build glx" --- configure.ac | 12 +----------- meson.build | 6 ++---- src/glx/Makefile.am | 5 ----- src/glx/SConscript | 5 +---- src/glx/glxcmds.c | 7 +------ src/glx/meson.build | 6 +----- 6 files changed, 6 insertions(+), 35 deletions(-) diff --git a/configure.ac b/configure.ac index 2573e0da57e..93a52475d50 100644 --- a/configure.ac +++ b/configure.ac @@ -1725,11 +1725,7 @@ xdri) fi fi - # add xf86vidmode if available - PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no) - if test "$HAVE_XF86VIDMODE" = yes ; then - dri_modules="$dri_modules xxf86vm" - fi + dri_modules="$dri_modules xxf86vm" PKG_CHECK_MODULES([DRIGL], [$dri_modules]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules" @@ -1742,10 +1738,6 @@ xdri) ;; esac -# This is outside the case (above) so that it is invoked even for non-GLX -# builds. -AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes) - GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" GLESv1_CM_PC_LIB_PRIV="-lm $PTHREAD_LIBS $DLOPEN_LIBS" GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" @@ -1762,8 +1754,6 @@ AC_SUBST([GLESv1_CM_PC_LIB_PRIV]) AC_SUBST([GLESv2_LIB_DEPS]) AC_SUBST([GLESv2_PC_LIB_PRIV]) -AC_SUBST([HAVE_XF86VIDMODE]) - dnl dnl More GLX setup dnl diff --git a/meson.build b/meson.build index 1b475877827..33f4e5ad3cf 100644 --- a/meson.build +++ b/meson.build @@ -1350,7 +1350,7 @@ if with_platform_x11 dep_xdamage = dependency('xdamage', version : '>= 1.1') dep_xfixes = dependency('xfixes') dep_xcb_glx = dependency('xcb-glx', version : '>= 1.8.1') - dep_xxf86vm = dependency('xxf86vm', required : false) + dep_xxf86vm = dependency('xxf86vm') endif if (with_any_vk or with_glx == 'dri' or (with_gallium_vdpau or with_gallium_xvmc or with_gallium_va or @@ -1428,13 +1428,11 @@ elif with_glx == 'dri' if with_dri_platform == 'drm' gl_priv_reqs += 'xcb-dri2 >= 1.8' endif + gl_priv_reqs += 'xxf86vm' endif if dep_libdrm.found() gl_priv_reqs += 'libdrm >= 2.4.75' endif -if dep_xxf86vm.found() - gl_priv_reqs += 'xxf86vm' -endif gl_priv_libs = [] if dep_thread.found() diff --git a/src/glx/Makefile.am b/src/glx/Makefile.am index d208ce14bb7..a66957d609b 100644 --- a/src/glx/Makefile.am +++ b/src/glx/Makefile.am @@ -24,10 +24,6 @@ SUBDIRS = EXTRA_DIST = SConscript meson.build -if HAVE_XF86VIDMODE -EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE -endif - AM_CFLAGS = \ -I$(top_srcdir)/include \ -I$(top_srcdir)/include/GL/internal \ @@ -38,7 +34,6 @@ AM_CFLAGS = \ -I$(top_builddir)/src/mapi/glapi \ -I$(top_srcdir)/src/mapi/glapi \ $(VISIBILITY_CFLAGS) \ - $(EXTRA_DEFINES_XF86VIDMODE) \ -D_REENTRANT \ $(DEFINES) \ $(LIBDRM_CFLAGS) \ diff --git a/src/glx/SConscript b/src/glx/SConscript index 7555fb0568c..ce25a1faa84 100644 --- a/src/glx/SConscript +++ b/src/glx/SConscript @@ -35,10 +35,7 @@ env.Prepend(LIBS = [ env.PkgUseModules('X11') env.PkgUseModules('XCB') env.PkgUseModules('DRM') - -if env['HAVE_XF86VIDMODE']: - env.Append(CPPDEFINES = ['XF86VIDMODE']) - env.PkgUseModules('XF86VIDMODE') +env.PkgUseModules('XF86VIDMODE') sources = [ 'clientattrib.c', diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 3ed960fbf3c..b940c8ebdbe 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -46,11 +46,9 @@ #include "util/debug.h" #else #include -#ifdef XF86VIDMODE #include #endif #endif -#endif #include #include @@ -2088,7 +2086,6 @@ _X_HIDDEN GLboolean __glxGetMscRate(struct glx_screen *psc, int32_t * numerator, int32_t * denominator) { -#ifdef XF86VIDMODE XF86VidModeModeLine mode_line; int dot_clock; int i; @@ -2135,8 +2132,6 @@ __glxGetMscRate(struct glx_screen *psc, return True; } - else -#endif return False; } @@ -2162,7 +2157,7 @@ _X_HIDDEN GLboolean __glXGetMscRateOML(Display * dpy, GLXDrawable drawable, int32_t * numerator, int32_t * denominator) { -#if defined( GLX_DIRECT_RENDERING ) && defined( XF86VIDMODE ) +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) __GLXDRIdrawable *draw = GetGLXDRIDrawable(dpy, drawable); if (draw == NULL) diff --git a/src/glx/meson.build b/src/glx/meson.build index 1de35fca6bc..3fd74439b11 100644 --- a/src/glx/meson.build +++ b/src/glx/meson.build @@ -136,10 +136,6 @@ gl_lib_cargs = [ '-D_REENTRANT', ] -if dep_xxf86vm.found() - gl_lib_cargs += '-DHAVE_XF86VIDMODE' -endif - libglx = static_library( 'glx', [files_libglx, glx_generated], @@ -166,7 +162,7 @@ if with_glx == 'dri' link_args : [ld_args_bsymbolic, ld_args_gc_sections, extra_ld_args_libgl], dependencies : [ dep_libdrm, dep_dl, dep_m, dep_thread, dep_x11, dep_xcb_glx, dep_xcb, - dep_x11_xcb, dep_xcb_dri2, dep_xext, dep_xfixes, dep_xdamage, + dep_x11_xcb, dep_xcb_dri2, dep_xext, dep_xfixes, dep_xdamage, dep_xxf86vm, extra_deps_libgl, ], version : gl_lib_version, -- 2.30.2