glx: make xf86vidmode mandatory for direct rendering
authorEmil Velikov <emil.velikov@collabora.com>
Fri, 16 Nov 2018 11:15:37 +0000 (11:15 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 20 Nov 2018 11:13:20 +0000 (11:13 +0000)
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 <emil.velikov@collabora.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Fixes: a47c525f3281a2753180e "meson: build glx"
configure.ac
meson.build
src/glx/Makefile.am
src/glx/SConscript
src/glx/glxcmds.c
src/glx/meson.build

index 2573e0da57ee1baf5017d2fc86cbe7fd4bd9508a..93a52475d50e6ee654320cd09ce641381fb10d63 100644 (file)
@@ -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
index 1b475877827ef69dbce8c50e9dfb54147f0ffbb6..33f4e5ad3cf3b620ad2a79a2c29f9bd0bf323868 100644 (file)
@@ -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()
index d208ce14bb798b441d49530d650d1a47d496c19d..a66957d609bf3c498fd2cdfac03e9ad4dc55df60 100644 (file)
@@ -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) \
index 7555fb0568c8dc80b126155e97d3eda1bcbffafd..ce25a1faa84aadcba0509e823e2ea5adc1cb153d 100644 (file)
@@ -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',
index 3ed960fbf3cd5201bbf30ee39742a20a6e58ee1f..b940c8ebdbe3269cf8e25c0ea8c2c74e9a19defb 100644 (file)
 #include "util/debug.h"
 #else
 #include <sys/time.h>
-#ifdef XF86VIDMODE
 #include <X11/extensions/xf86vmode.h>
 #endif
 #endif
-#endif
 
 #include <X11/Xlib-xcb.h>
 #include <xcb/xcb.h>
@@ -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)
index 1de35fca6bc25b6ec102ac06c86d5ea571f7fe37..3fd74439b1137d147ccde9c21158c45ba564d20a 100644 (file)
@@ -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,