[Mesa-dev] [PATCH 2/2] glx: make xf86vidmode mandatory for direct rendering

Eric Engestrom eric.engestrom at intel.com
Fri Nov 16 15:12:17 UTC 2018


On Friday, 2018-11-16 13:59:01 +0000, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
> 
> 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 :-(

Oops... you're right: s/HAVE_XF86VIDMODE/XF86VIDMODE/ typo which was never
caught because dep_xxf86vm was missing from libglx's dependencies :/

Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
Fixes: a47c525f3281a2753180e "meson: build glx"

> 
> 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.

If you have an actual year number on that it might be worth writing it
down in the commit message; not important if you don't.

> 
> Cc: mesa-stable at lists.freedesktop.org
> Cc: Dylan Baker <dylan at pnwbakers.com>
> Cc: Eric Engestrom <eric at engestrom.ch>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> Note: I intentionally did not polish build systems to keep the patch
> short and on point.
> ---
>  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 8f9d80c9f41..d06ae2972e9 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 \
>  	-DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \
>  	$(DEFINES) \
> diff --git a/src/glx/SConscript b/src/glx/SConscript
> index 8ce17715814..051f55b7669 100644
> --- a/src/glx/SConscript
> +++ b/src/glx/SConscript
> @@ -36,10 +36,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 <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)
> diff --git a/src/glx/meson.build b/src/glx/meson.build
> index dd8ba60ad80..f3bbcb433ad 100644
> --- a/src/glx/meson.build
> +++ b/src/glx/meson.build
> @@ -137,10 +137,6 @@ gl_lib_cargs = [
>    '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path),
>  ]
>  
> -if dep_xxf86vm.found()
> -  gl_lib_cargs += '-DHAVE_XF86VIDMODE'
> -endif
> -
>  libglx = static_library(
>    'glx',
>    [files_libglx, glx_generated],
> @@ -167,7 +163,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.19.1
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list