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: a47c525f32 "meson: build glx"
tags/19.0-branchpoint
| @@ -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 | |||
| @@ -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() | |||
| @@ -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) \ | |||
| @@ -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', | |||
| @@ -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) | |||
| @@ -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, | |||