Update to xf86-video-modesetting 0.8.1

This commit is contained in:
matthieu 2014-06-08 15:10:13 +00:00
parent d7b8fa72ff
commit 6006b2d2f7
13 changed files with 9739 additions and 1388 deletions

View File

@ -1,3 +1,186 @@
commit da64ee70f96fcac32c08128559b293732b318a00
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Tue Dec 3 17:01:28 2013 +0100
bump to 0.8.1
commit c9f899bf34530d54eb96dda9f5e7d9135967fc11
Author: Thierry Reding <thierry.reding@gmail.com>
Date: Tue Nov 26 17:08:03 2013 +0100
Properly identify DSI outputs
Newer Linux kernels support DSI outputs. To be able to identify them
properly, add DSI to the list of output names.
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
commit d2403d5a1fb17f925e907296398ba14e8b104e89
Author: Thierry Reding <thierry.reding@gmail.com>
Date: Tue Nov 26 17:08:02 2013 +0100
Staticise and constify output names
This array isn't used anywhere outside this file, so it can be made
static. While at it, make the array const as well.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
commit beca4dfb0e4d11d3729214967a1fe56ee5669831
Author: Keith Packard <keithp@keithp.com>
Date: Fri Nov 15 13:39:52 2013 +0900
Handle new DamageUnregister API which has only one argument
API change in 1.15
Signed-off-by: Keith Packard <keithp@keithp.com>
commit 75e6ae5de483bad6bfdea0ec1d9030bb44af335f
Author: Keith Packard <keithp@keithp.com>
Date: Fri Nov 15 13:26:36 2013 +0900
Clean up compiler warnings.
Add const to any immutable string pointers.
Rename 'range' to 'prop_range' to avoid redefined warning.
Eliminate some unused return values.
Signed-off-by: Keith Packard <keithp@keithp.com>
commit e8bd7c2dc3329fa0da3078b6d2cc0ffa43b428e5
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Jul 31 11:24:48 2013 +1000
modesetting: change output names for secondary GPUs
if we are a secondary GPU modify the output name to avoid clashes.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 58d3dc53a89c5aa2acfc93e4ae5719dd92b785b9
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jun 12 14:11:53 2013 +0200
bump to 0.8.0
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
commit a299400b8404f935e5e2bc6a5b9c17821844bd0d
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Jun 12 14:05:19 2013 +0200
modesetting: probe only succeeds if connectors are detected
This will prevent modesetting being used for outputless intel or nvidia cards.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
commit a62d5e60896166be88fcf3778921b8d10baec2c1
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Jun 11 10:29:25 2013 +1000
modesetting: fix adjust frame crash
When SDL called this it was totally broken, actually hook
up to the underlying drmmode function.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64808
Thanks to Peter Wu <lekensteyn@gmail.com> for harassing me.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit cba29fd8c2f605ed66718aa3a6b5833deb5d4cf9
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Apr 3 12:08:44 2013 +0200
support 32 bpp pixmaps when 24 bpp fb is used.
Fixes background corruption in ubuntu.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
commit 332fbe8e13502c11bf32353123cba5e1e1bf3796
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Wed Mar 27 10:33:46 2013 +0100
bump version to 0.7.0
commit 3c631228a9f57e73ee693d5283894db1a460e0a4
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Tue Mar 26 15:19:52 2013 +0100
modesetting: return null for get_modes if output could not be retrieved
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
commit e5b5297ac449fb4ac62cc6471f933ae2265778a2
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date: Tue Mar 26 15:19:33 2013 +0100
modesetting: clean up leaks
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
commit 1e571934629280053caeb155e418acbdca609e36
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Wed Feb 20 17:27:16 2013 -0800
modesetting: match PCI class 3, any subclass
If a device is not primary, the PCI device match fails because the
xf86-video-modesetting driver looks specifically for a PCI class match of
0x30000 with a mask of 0xffffff. This fails to match, for example, a
non-primary Intel VGA device, because it is reported as having a class of
0x38000.
Fix that by ignoring the low 16 bits of the class in the pci_id_match table.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed on IRC by Adam Jackson <ajax@redhat.com>
commit 8dd5b22ea4469515b4218fad0deaf76cc98e3b9c
Author: Colin Walters <walters@verbum.org>
Date: Wed Jan 4 22:37:06 2012 +0000
autogen.sh: Implement GNOME Build API
http://people.gnome.org/~walters/docs/build-api.txt
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit 06618a9b3d9585508b0debd18d5b981636f98c54
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Dec 3 13:25:19 2012 +0000
Add missing GTF modes
A fixed-mode output device like a panel will often only inform of its
preferred mode through its EDID. However, the driver will adjust user
specified modes for display through use of a panel-fitter allowing
greater flexibility in upscaling. This is often used by games to set a
low resolution for performance and use the panel fitter to fill the
screen.
v2: Use the presence of the 'scaling mode' connector property as an
indication that a panel fitter is attached to that pipe.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55564
commit acb90bc34ad99a7c4de8c69a26ff09a65cd0281d
Author: Dave Airlie <airlied@redhat.com>
Date: Thu Feb 7 12:24:20 2013 +1000
modesetting: provide dummy hooks for shadow
Since in some wierd cases the server can call these without checking they
exist.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 404b5e2b53578d8b78471da5aaaaa80a85c6acc4 commit 404b5e2b53578d8b78471da5aaaaa80a85c6acc4
Author: Dave Airlie <airlied@redhat.com> Author: Dave Airlie <airlied@redhat.com>
Date: Wed Jan 9 13:04:00 2013 +1000 Date: Wed Jan 9 13:04:00 2013 +1000

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.12.5 from Makefile.am. # Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc. # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@ -72,10 +72,13 @@ host_triplet = @host@
subdir = . subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure COPYING ChangeLog INSTALL compile \ $(top_srcdir)/configure COPYING ChangeLog INSTALL config.guess \
config.guess config.sub depcomp install-sh ltmain.sh missing config.sub depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@ -168,6 +171,7 @@ AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -183,16 +187,20 @@ CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRIVER_NAME = @DRIVER_NAME@ DRIVER_NAME = @DRIVER_NAME@
DRM_CFLAGS = @DRM_CFLAGS@ DRM_CFLAGS = @DRM_CFLAGS@
DRM_LIBS = @DRM_LIBS@ DRM_LIBS = @DRM_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@ GREP = @GREP@
@ -202,21 +210,29 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
LT_OPTS = @LT_OPTS@
MAINT = @MAINT@ MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@ MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -228,6 +244,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
PCIACCESS_LIBS = @PCIACCESS_LIBS@ PCIACCESS_LIBS = @PCIACCESS_LIBS@
PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
SED = @SED@ SED = @SED@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
@ -246,7 +264,9 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@

View File

@ -1,4 +1,4 @@
# generated automatically by aclocal 1.12.5 -*- Autoconf -*- # generated automatically by aclocal 1.12.6 -*- Autoconf -*-
# Copyright (C) 1996-2012 Free Software Foundation, Inc. # Copyright (C) 1996-2012 Free Software Foundation, Inc.
@ -20,6 +20,7 @@ If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])]) To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
# #
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>. # Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
# #
@ -46,8 +47,12 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
# ---------------------------------- # ----------------------------------
AC_DEFUN([PKG_PROG_PKG_CONFIG], AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi fi
@ -60,7 +65,6 @@ if test -n "$PKG_CONFIG"; then
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
PKG_CONFIG="" PKG_CONFIG=""
fi fi
fi[]dnl fi[]dnl
])# PKG_PROG_PKG_CONFIG ])# PKG_PROG_PKG_CONFIG
@ -69,33 +73,31 @@ fi[]dnl
# Check to see whether a particular set of modules exists. Similar # Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors. # to PKG_CHECK_MODULES(), but does not set variables or print errors.
# #
# # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
# Similar to PKG_CHECK_MODULES, make sure that the first instance of # only at the first occurence in configure.ac, so if the first place
# this or PKG_CHECK_MODULES is called, or make sure to call # it's called might be skipped (such as if it is within an "if", you
# PKG_CHECK_EXISTS manually # have to call PKG_CHECK_EXISTS manually
# -------------------------------------------------------------- # --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_EXISTS], AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_ifval([$2], [$2], [:]) m4_default([$2], [:])
m4_ifvaln([$3], [else m4_ifvaln([$3], [else
$3])dnl $3])dnl
fi]) fi])
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# --------------------------------------------- # ---------------------------------------------
m4_define([_PKG_CONFIG], m4_define([_PKG_CONFIG],
[if test -n "$PKG_CONFIG"; then [if test -n "$$1"; then
if test -n "$$1"; then
pkg_cv_[]$1="$$1" pkg_cv_[]$1="$$1"
else elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3], PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ],
[pkg_failed=yes]) [pkg_failed=yes])
fi else
else
pkg_failed=untried pkg_failed=untried
fi[]dnl fi[]dnl
])# _PKG_CONFIG ])# _PKG_CONFIG
@ -138,16 +140,17 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.]) See the pkg-config man page for more details.])
if test $pkg_failed = yes; then if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED _PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else else
$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi fi
# Put the nasty error message in config.log where it belongs # Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
ifelse([$4], , [AC_MSG_ERROR(dnl m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met: [Package requirements ($2) were not met:
$$1_PKG_ERRORS $$1_PKG_ERRORS
@ -155,28 +158,67 @@ $$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix. installed software in a non-standard prefix.
_PKG_TEXT _PKG_TEXT])[]dnl
])], ])
[AC_MSG_RESULT([no])
$4])
elif test $pkg_failed = untried; then elif test $pkg_failed = untried; then
ifelse([$4], , [AC_MSG_FAILURE(dnl AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it [The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config. path to pkg-config.
_PKG_TEXT _PKG_TEXT
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])], To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
[$4]) ])
else else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
ifelse([$3], , :, [$3]) $3
fi[]dnl fi[]dnl
])# PKG_CHECK_MODULES ])# PKG_CHECK_MODULES
# PKG_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable pkgconfigdir as the location where a module
# should install pkg-config .pc files. By default the directory is
# $libdir/pkgconfig, but the default can be changed by passing
# DIRECTORY. The user can override through the --with-pkgconfigdir
# parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_INSTALLDIR
# PKG_NOARCH_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable noarch_pkgconfigdir as the location where a
# module should install arch-independent pkg-config .pc files. By
# default the directory is $datadir/pkgconfig, but the default can be
# changed by passing DIRECTORY. The user can override through the
# --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
# Copyright (C) 2002-2012 Free Software Foundation, Inc. # Copyright (C) 2002-2012 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
@ -192,7 +234,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.12' [am__api_version='1.12'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro. dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.12.5], [], m4_if([$1], [1.12.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
]) ])
@ -208,7 +250,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.12.5])dnl [AM_AUTOMAKE_VERSION([1.12.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@ -1198,24 +1240,11 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar]) AC_SUBST([am__untar])
]) # _AM_PROG_TAR ]) # _AM_PROG_TAR
# $OpenBSD: aclocal.m4,v 1.2 2013/01/17 07:22:28 matthieu Exp $ m4_include([m4/libtool.m4])
# Minimal libtool.m4 for use with OpenBSD's libtool m4_include([m4/ltoptions.m4])
# serial 100 m4_include([m4/ltsugar.m4])
AC_DEFUN([LT_INIT],[ m4_include([m4/ltversion.m4])
LIBTOOL="/usr/bin/libtool ${LT_OPTS}" m4_include([m4/lt~obsolete.m4])
RANLIB="/usr/bin/ranlib"
AC_SUBST(LIBTOOL)
AC_SUBST(RANLIB)
])
AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
AC_DEFUN([AC_DISABLE_STATIC],[
LT_OPTS="--tag disable-static"
AC_SUBST(LT_OPTS)
])
AC_DEFUN([AC_LIBTOOL_DLOPEN])
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl dnl
dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
@ -1255,7 +1284,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what # See the "minimum version" comment for each macro you use to see what
# version you require. # version you require.
m4_defun([XORG_MACROS_VERSION],[ m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.16.2]) m4_define([vers_have], [1.19.0])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,, m4_if(m4_cmp(maj_have, maj_needed), 0,,
@ -1305,6 +1334,7 @@ if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
else else
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
TRADITIONALCPPFLAGS="-traditional"
RAWCPPFLAGS="${RAWCPPFLAGS} -traditional" RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
else else
@ -1313,6 +1343,7 @@ else
fi fi
rm -f conftest.$ac_ext rm -f conftest.$ac_ext
AC_SUBST(RAWCPPFLAGS) AC_SUBST(RAWCPPFLAGS)
AC_SUBST(TRADITIONALCPPFLAGS)
]) # XORG_PROG_RAWCPP ]) # XORG_PROG_RAWCPP
# XORG_MANPAGE_SECTIONS() # XORG_MANPAGE_SECTIONS()
@ -1837,9 +1868,10 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
]) # XORG_WITH_ASCIIDOC ]) # XORG_WITH_ASCIIDOC
# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT]) # XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
# -------------------------------- # -------------------------------------------
# Minimum version: 1.5.0 # Minimum version: 1.5.0
# Minimum version for optional DEFAULT argument: 1.11.0 # Minimum version for optional DEFAULT argument: 1.11.0
# Minimum version for optional DOT checking: 1.18.0
# #
# Documentation tools are not always available on all platforms and sometimes # Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the # not at the appropriate level. This macro enables a module to test for the
@ -1859,6 +1891,7 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
# #
AC_DEFUN([XORG_WITH_DOXYGEN],[ AC_DEFUN([XORG_WITH_DOXYGEN],[
AC_ARG_VAR([DOXYGEN], [Path to doxygen command]) AC_ARG_VAR([DOXYGEN], [Path to doxygen command])
AC_ARG_VAR([DOT], [Path to the dot graphics utility])
m4_define([_defopt], m4_default([$2], [auto])) m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(doxygen, AC_ARG_WITH(doxygen,
AS_HELP_STRING([--with-doxygen], AS_HELP_STRING([--with-doxygen],
@ -1902,6 +1935,20 @@ m4_ifval([$1],
AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed]) AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
fi]) fi])
fi]) fi])
dnl Check for DOT if we have doxygen. The caller decides if it is mandatory
dnl HAVE_DOT is a variable that can be used in your doxygen.in config file:
dnl HAVE_DOT = @HAVE_DOT@
HAVE_DOT=no
if test "x$have_doxygen" = "xyes"; then
AC_PATH_PROG([DOT], [dot])
if test "x$DOT" != "x"; then
HAVE_DOT=yes
fi
fi
AC_SUBST([HAVE_DOT])
AM_CONDITIONAL([HAVE_DOT], [test "$HAVE_DOT" = "yes"])
AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes]) AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
]) # XORG_WITH_DOXYGEN ]) # XORG_WITH_DOXYGEN
@ -2084,6 +2131,29 @@ fi])
AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes]) AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
]) # XORG_WITH_FOP ]) # XORG_WITH_FOP
# XORG_WITH_M4([MIN-VERSION])
# ---------------------------
# Minimum version: 1.19.0
#
# This macro attempts to locate an m4 macro processor which supports
# -I option and is only useful for modules relying on M4 in order to
# expand macros in source code files.
#
# Interface to module:
# M4: returns the path of the m4 program found
# returns the path set by the user in the environment
#
AC_DEFUN([XORG_WITH_M4], [
AC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4],
[AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4],
[[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \
ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]],
[AC_MSG_ERROR([could not find m4 that supports -I option])],
[$PATH:/usr/gnu/bin])])
AC_SUBST([M4], [$ac_cv_path_M4])
]) # XORG_WITH_M4
# XORG_WITH_PS2PDF([DEFAULT]) # XORG_WITH_PS2PDF([DEFAULT])
# ---------------- # ----------------
# Minimum version: 1.6.0 # Minimum version: 1.6.0
@ -2538,7 +2608,8 @@ AC_ARG_ENABLE(malloc0returnsnull,
AC_MSG_CHECKING([whether malloc(0) returns NULL]) AC_MSG_CHECKING([whether malloc(0) returns NULL])
if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
AC_RUN_IFELSE([AC_LANG_PROGRAM([ AC_CACHE_VAL([xorg_cv_malloc0_returns_null],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([
#include <stdlib.h> #include <stdlib.h>
],[ ],[
char *m0, *r0, *c0, *p; char *m0, *r0, *c0, *p;
@ -2548,9 +2619,9 @@ if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
c0 = calloc(0,10); c0 = calloc(0,10);
exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1); exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
])], ])],
[MALLOC_ZERO_RETURNS_NULL=yes], [xorg_cv_malloc0_returns_null=yes],
[MALLOC_ZERO_RETURNS_NULL=no], [xorg_cv_malloc0_returns_null=no])])
[MALLOC_ZERO_RETURNS_NULL=yes]) MALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null
fi fi
AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL]) AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
@ -2761,18 +2832,18 @@ fi
found="no" found="no"
m4_foreach([flag], m4_cdr($@), [ m4_foreach([flag], m4_cdr($@), [
if test $found = "no" ; then if test $found = "no" ; then
if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then if test "x$xorg_testset_]CACHE_PREFIX[_unknown_warning_option" = "xyes" ; then
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option" PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
fi fi
if test "x$xorg_testset_unused_command_line_argument" = "xyes" ; then if test "x$xorg_testset_]CACHE_PREFIX[_unused_command_line_argument" = "xyes" ; then
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument" PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
fi fi
PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag[" PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname
AC_MSG_CHECKING([if ]COMPILER[ supports]flag[]) AC_MSG_CHECKING([if ]COMPILER[ supports ]flag[])
cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[]) cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[])
AC_CACHE_VAL($cacheid, AC_CACHE_VAL($cacheid,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])], [AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
@ -2839,7 +2910,7 @@ AC_LANG_CASE(
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition], [-fd])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
] ]
) )
@ -2848,16 +2919,17 @@ AC_LANG_CASE(
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute]) XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# These are currently disabled because they are noisy. They will be enabled # These are currently disabled because they are noisy. They will be enabled
# in the future once the codebase is sufficiently modernized to silence # in the future once the codebase is sufficiently modernized to silence
# them. For now, I don't want them to drown out the other warnings. # them. For now, I don't want them to drown out the other warnings.
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses]) # XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align]) # XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
# Turn some warnings into errors, so we don't accidently get successful builds # Turn some warnings into errors, so we don't accidently get successful builds
# when there are problems that should be fixed. # when there are problems that should be fixed.
@ -3093,10 +3165,10 @@ dnl other dealings in this Software without prior written authorization
dnl from the copyright holders. dnl from the copyright holders.
dnl dnl
# XORG_DRIVER_CHECK_EXT() # XORG_DRIVER_CHECK_EXT(MACRO, PROTO)
# -------------------------- # --------------------------
# Checks for the $1 define in xorg-server.h (from the sdk). If it # Checks for the MACRO define in xorg-server.h (from the sdk). If it
# is defined, then add $1 to $REQUIRED_MODULES. # is defined, then add the given PROTO to $REQUIRED_MODULES.
AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
AC_REQUIRE([PKG_PROG_PKG_CONFIG]) AC_REQUIRE([PKG_PROG_PKG_CONFIG])

View File

@ -1,143 +0,0 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2009-10-06.20; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
# Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand `-c -o'.
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file `INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
esac
ofile=
cfile=
eat=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we strip `-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@ -2,6 +2,9 @@
#include "xorg-server.h" #include "xorg-server.h"
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the `drmPrimeFDToHandle' function. */ /* Define to 1 if you have the `drmPrimeFDToHandle' function. */
#undef HAVE_DRMPRIMEFDTOHANDLE #undef HAVE_DRMPRIMEFDTOHANDLE
@ -38,6 +41,10 @@
/* xextproto 7.1 available */ /* xextproto 7.1 available */
#undef HAVE_XEXTPROTO_71 #undef HAVE_XEXTPROTO_71
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Name of package */ /* Name of package */
#undef PACKAGE #undef PACKAGE

View File

@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc. # 2011, 2012 Free Software Foundation, Inc.
timestamp='2012-10-10' timestamp='2012-12-06'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@ -1026,7 +1026,11 @@ case $basic_machine in
basic_machine=i586-unknown basic_machine=i586-unknown
os=-pw32 os=-pw32
;; ;;
rdos) rdos | rdos64)
basic_machine=x86_64-pc
os=-rdos
;;
rdos32)
basic_machine=i386-pc basic_machine=i386-pc
os=-rdos os=-rdos
;; ;;

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@
# Initialize Autoconf # Initialize Autoconf
AC_PREREQ([2.60]) AC_PREREQ([2.60])
AC_INIT([xf86-video-modesetting], AC_INIT([xf86-video-modesetting],
[0.6.0], [0.8.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-modesetting]) [xf86-video-modesetting])
AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_SRCDIR([Makefile.am])

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.12.5 from Makefile.am. # Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc. # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@ -79,7 +79,10 @@ host_triplet = @host@
subdir = man subdir = man
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
@ -142,6 +145,7 @@ AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -157,16 +161,20 @@ CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRIVER_NAME = @DRIVER_NAME@ DRIVER_NAME = @DRIVER_NAME@
DRM_CFLAGS = @DRM_CFLAGS@ DRM_CFLAGS = @DRM_CFLAGS@
DRM_LIBS = @DRM_LIBS@ DRM_LIBS = @DRM_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@ GREP = @GREP@
@ -176,21 +184,29 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
LT_OPTS = @LT_OPTS@
MAINT = @MAINT@ MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@ MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -202,6 +218,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
PCIACCESS_LIBS = @PCIACCESS_LIBS@ PCIACCESS_LIBS = @PCIACCESS_LIBS@
PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
SED = @SED@ SED = @SED@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
@ -220,7 +238,9 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@

View File

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.12.5 from Makefile.am. # Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc. # Copyright (C) 1994-2012 Free Software Foundation, Inc.
@ -80,7 +80,10 @@ subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/depcomp $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
@ -123,9 +126,10 @@ AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent am__v_lt_0 = --silent
am__v_lt_1 = am__v_lt_1 =
modesetting_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ modesetting_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(modesetting_drv_la_LDFLAGS) $(LDFLAGS) -o $@ $(AM_CFLAGS) $(CFLAGS) $(modesetting_drv_la_LDFLAGS) \
$(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@) AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false am__v_P_0 = false
@ -144,17 +148,18 @@ am__depfiles_maybe = depfiles
am__mv = mv -f am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@) AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@; am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 = am__v_CC_1 =
CCLD = $(CC) CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(LDFLAGS) -o $@ $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@) AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_0 = @echo " CCLD " $@;
@ -176,6 +181,7 @@ AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -191,16 +197,20 @@ CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@ DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DRIVER_NAME = @DRIVER_NAME@ DRIVER_NAME = @DRIVER_NAME@
DRM_CFLAGS = @DRM_CFLAGS@ DRM_CFLAGS = @DRM_CFLAGS@
DRM_LIBS = @DRM_LIBS@ DRM_LIBS = @DRM_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
GREP = @GREP@ GREP = @GREP@
@ -210,21 +220,29 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LIBTOOL = @LIBTOOL@ LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
LT_OPTS = @LT_OPTS@
MAINT = @MAINT@ MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@ MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@ MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -236,6 +254,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
PCIACCESS_LIBS = @PCIACCESS_LIBS@ PCIACCESS_LIBS = @PCIACCESS_LIBS@
PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
SED = @SED@ SED = @SED@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
@ -254,7 +274,9 @@ abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@ abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@

View File

@ -92,7 +92,7 @@ static Bool ms_driver_func(ScrnInfoPtr scrn, xorgDriverFuncOp op,
static const struct pci_id_match ms_device_match[] = { static const struct pci_id_match ms_device_match[] = {
{ {
PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
0x00030000, 0x00ffffff, 0 0x00030000, 0x00ff0000, 0
}, },
{ 0, 0, 0 }, { 0, 0, 0 },
@ -189,7 +189,7 @@ Identify(int flags)
Chipsets); Chipsets);
} }
static int open_hw(char *dev) static int open_hw(const char *dev)
{ {
int fd; int fd;
if (dev) if (dev)
@ -207,12 +207,25 @@ static int open_hw(char *dev)
return fd; return fd;
} }
static Bool probe_hw(char *dev) static int check_outputs(int fd)
{
drmModeResPtr res = drmModeGetResources(fd);
int ret;
if (!res)
return FALSE;
ret = res->count_connectors > 0;
drmModeFreeResources(res);
return ret;
}
static Bool probe_hw(const char *dev)
{ {
int fd = open_hw(dev); int fd = open_hw(dev);
if (fd != -1) { if (fd != -1) {
int ret = check_outputs(fd);
close(fd); close(fd);
return TRUE; return ret;
} }
return FALSE; return FALSE;
} }
@ -230,9 +243,9 @@ ms_DRICreatePCIBusID(const struct pci_device *dev)
} }
static Bool probe_hw_pci(char *dev, struct pci_device *pdev) static Bool probe_hw_pci(const char *dev, struct pci_device *pdev)
{ {
int fd = open_hw(dev); int ret = FALSE, fd = open_hw(dev);
char *id, *devid; char *id, *devid;
drmSetVersion sv; drmSetVersion sv;
@ -253,13 +266,12 @@ static Bool probe_hw_pci(char *dev, struct pci_device *pdev)
devid = ms_DRICreatePCIBusID(pdev); devid = ms_DRICreatePCIBusID(pdev);
close(fd); close(fd);
if (!id || !devid) if (id && devid && !strcmp(id, devid))
return FALSE; ret = check_outputs(fd);
if (!strcmp(id, devid)) free(id);
return TRUE; free(devid);
return ret;
return FALSE;
} }
static const OptionInfoRec * static const OptionInfoRec *
AvailableOptions(int chipid, int busid) AvailableOptions(int chipid, int busid)
@ -292,7 +304,7 @@ ms_pci_probe(DriverPtr driver,
scrn = xf86ConfigPciEntity(scrn, 0, entity_num, NULL, scrn = xf86ConfigPciEntity(scrn, 0, entity_num, NULL,
NULL, NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL, NULL);
if (scrn) { if (scrn) {
char *devpath; const char *devpath;
GDevPtr devSection = xf86GetDevFromEntity(scrn->entityList[0], GDevPtr devSection = xf86GetDevFromEntity(scrn->entityList[0],
scrn->entityInstanceList[0]); scrn->entityInstanceList[0]);
@ -329,7 +341,7 @@ ms_platform_probe(DriverPtr driver,
int entity_num, int flags, struct xf86_platform_device *dev, intptr_t match_data) int entity_num, int flags, struct xf86_platform_device *dev, intptr_t match_data)
{ {
ScrnInfoPtr scrn = NULL; ScrnInfoPtr scrn = NULL;
char *path = xf86_get_platform_device_attrib(dev, ODEV_ATTRIB_PATH); const char *path = xf86_get_platform_device_attrib(dev, ODEV_ATTRIB_PATH);
int scr_flags = 0; int scr_flags = 0;
if (flags & PLATFORM_PROBE_GPU_SCREEN) if (flags & PLATFORM_PROBE_GPU_SCREEN)
@ -363,7 +375,7 @@ Probe(DriverPtr drv, int flags)
int i, numDevSections; int i, numDevSections;
GDevPtr *devSections; GDevPtr *devSections;
Bool foundScreen = FALSE; Bool foundScreen = FALSE;
char *dev; const char *dev;
ScrnInfoPtr scrn = NULL; ScrnInfoPtr scrn = NULL;
/* For now, just bail out for PROBE_DETECT. */ /* For now, just bail out for PROBE_DETECT. */
@ -536,15 +548,28 @@ static void msBlockHandler(BLOCKHANDLER_ARGS_DECL)
static void static void
FreeRec(ScrnInfoPtr pScrn) FreeRec(ScrnInfoPtr pScrn)
{ {
modesettingPtr ms;
if (!pScrn) if (!pScrn)
return; return;
if (!pScrn->driverPrivate) ms = modesettingPTR(pScrn);
if (!ms)
return; return;
free(pScrn->driverPrivate);
pScrn->driverPrivate = NULL; pScrn->driverPrivate = NULL;
if (ms->fd > 0) {
int ret;
if (ms->pEnt->location.type == BUS_PCI)
ret = drmClose(ms->fd);
else
ret = close(ms->fd);
(void) ret;
}
free(ms->Options);
free(ms);
} }
static Bool static Bool
@ -554,7 +579,8 @@ PreInit(ScrnInfoPtr pScrn, int flags)
rgb defaultWeight = { 0, 0, 0 }; rgb defaultWeight = { 0, 0, 0 };
EntityInfoPtr pEnt; EntityInfoPtr pEnt;
EntPtr msEnt = NULL; EntPtr msEnt = NULL;
char *BusID = NULL, *devicename; char *BusID = NULL;
const char *devicename;
Bool prefer_shadow = TRUE; Bool prefer_shadow = TRUE;
uint64_t value = 0; uint64_t value = 0;
int ret; int ret;
@ -644,7 +670,7 @@ PreInit(ScrnInfoPtr pScrn, int flags)
#endif #endif
drmmode_get_default_bpp(pScrn, &ms->drmmode, &defaultdepth, &defaultbpp); drmmode_get_default_bpp(pScrn, &ms->drmmode, &defaultdepth, &defaultbpp);
if (defaultdepth == 24 && defaultbpp == 24) if (defaultdepth == 24 && defaultbpp == 24)
bppflags = Support24bppFb; bppflags = SupportConvert32to24 | Support24bppFb;
else else
bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb; bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb;
@ -950,16 +976,9 @@ static void
AdjustFrame(ADJUST_FRAME_ARGS_DECL) AdjustFrame(ADJUST_FRAME_ARGS_DECL)
{ {
SCRN_INFO_PTR(arg); SCRN_INFO_PTR(arg);
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); modesettingPtr ms = modesettingPTR(pScrn);
xf86OutputPtr output = config->output[config->compat_output];
xf86CrtcPtr crtc = output->crtc;
if (crtc && crtc->enabled) { drmmode_adjust_frame(pScrn, &ms->drmmode, x, y);
crtc->funcs->mode_set(crtc, pScrn->currentMode, pScrn->currentMode, x,
y);
crtc->x = output->initial_x + x;
crtc->y = output->initial_y + y;
}
} }
static void static void

View File

@ -534,8 +534,7 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
DamageRegister(&ppix->drawable, drmmode_crtc->slave_damage); DamageRegister(&ppix->drawable, drmmode_crtc->slave_damage);
if (ppriv->fb_id == 0) { if (ppriv->fb_id == 0) {
int r; drmModeAddFB(drmmode->fd, ppix->drawable.width,
r = drmModeAddFB(drmmode->fd, ppix->drawable.width,
ppix->drawable.height, ppix->drawable.height,
ppix->drawable.depth, ppix->drawable.depth,
ppix->drawable.bitsPerPixel, ppix->drawable.bitsPerPixel,
@ -547,6 +546,17 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
} }
#endif #endif
static void *drmmode_shadow_allocate(xf86CrtcPtr crtc, int width, int height)
{
return NULL;
}
static PixmapPtr drmmode_shadow_create(xf86CrtcPtr crtc, void *data, int width,
int height)
{
return NULL;
}
static const xf86CrtcFuncsRec drmmode_crtc_funcs = { static const xf86CrtcFuncsRec drmmode_crtc_funcs = {
.dpms = drmmode_crtc_dpms, .dpms = drmmode_crtc_dpms,
.set_mode_major = drmmode_set_mode_major, .set_mode_major = drmmode_set_mode_major,
@ -561,6 +571,8 @@ static const xf86CrtcFuncsRec drmmode_crtc_funcs = {
#ifdef MODESETTING_OUTPUT_SLAVE_SUPPORT #ifdef MODESETTING_OUTPUT_SLAVE_SUPPORT
.set_scanout_pixmap = drmmode_set_scanout_pixmap, .set_scanout_pixmap = drmmode_set_scanout_pixmap,
#endif #endif
.shadow_allocate = drmmode_shadow_allocate,
.shadow_create = drmmode_shadow_create,
}; };
static void static void
@ -613,6 +625,78 @@ drmmode_output_mode_valid(xf86OutputPtr output, DisplayModePtr pModes)
return MODE_OK; return MODE_OK;
} }
static Bool
has_panel_fitter(xf86OutputPtr output)
{
drmmode_output_private_ptr drmmode_output = output->driver_private;
drmModeConnectorPtr koutput = drmmode_output->mode_output;
drmmode_ptr drmmode = drmmode_output->drmmode;
int i;
/* Presume that if the output supports scaling, then we have a
* panel fitter capable of adjust any mode to suit.
*/
for (i = 0; i < koutput->count_props; i++) {
drmModePropertyPtr props;
Bool found = FALSE;
props = drmModeGetProperty(drmmode->fd, koutput->props[i]);
if (props) {
found = strcmp(props->name, "scaling mode") == 0;
drmModeFreeProperty(props);
}
if (found)
return TRUE;
}
return FALSE;
}
static DisplayModePtr
drmmode_output_add_gtf_modes(xf86OutputPtr output,
DisplayModePtr Modes)
{
xf86MonPtr mon = output->MonInfo;
DisplayModePtr i, m, preferred = NULL;
int max_x = 0, max_y = 0;
float max_vrefresh = 0.0;
if (mon && GTF_SUPPORTED(mon->features.msc))
return Modes;
if (!has_panel_fitter(output))
return Modes;
for (m = Modes; m; m = m->next) {
if (m->type & M_T_PREFERRED)
preferred = m;
max_x = max(max_x, m->HDisplay);
max_y = max(max_y, m->VDisplay);
max_vrefresh = max(max_vrefresh, xf86ModeVRefresh(m));
}
max_vrefresh = max(max_vrefresh, 60.0);
max_vrefresh *= (1 + SYNC_TOLERANCE);
m = xf86GetDefaultModes();
xf86ValidateModesSize(output->scrn, m, max_x, max_y, 0);
for (i = m; i; i = i->next) {
if (xf86ModeVRefresh(i) > max_vrefresh)
i->status = MODE_VSYNC;
if (preferred &&
i->HDisplay >= preferred->HDisplay &&
i->VDisplay >= preferred->VDisplay &&
xf86ModeVRefresh(i) >= xf86ModeVRefresh(preferred))
i->status = MODE_VSYNC;
}
xf86PruneInvalidModes(output->scrn, &m, FALSE);
return xf86ModesAdd(Modes, m);
}
static DisplayModePtr static DisplayModePtr
drmmode_output_get_modes(xf86OutputPtr output) drmmode_output_get_modes(xf86OutputPtr output)
{ {
@ -624,6 +708,9 @@ drmmode_output_get_modes(xf86OutputPtr output)
drmModePropertyPtr props; drmModePropertyPtr props;
xf86MonPtr mon = NULL; xf86MonPtr mon = NULL;
if (!koutput)
return NULL;
/* look for an EDID property */ /* look for an EDID property */
for (i = 0; i < koutput->count_props; i++) { for (i = 0; i < koutput->count_props; i++) {
props = drmModeGetProperty(drmmode->fd, koutput->props[i]); props = drmModeGetProperty(drmmode->fd, koutput->props[i]);
@ -653,7 +740,8 @@ drmmode_output_get_modes(xf86OutputPtr output)
Modes = xf86ModesAdd(Modes, Mode); Modes = xf86ModesAdd(Modes, Mode);
} }
return Modes;
return drmmode_output_add_gtf_modes(output, Modes);
} }
static void static void
@ -741,7 +829,7 @@ drmmode_output_create_resources(xf86OutputPtr output)
drmmode_prop = p->mode_prop; drmmode_prop = p->mode_prop;
if (drmmode_prop->flags & DRM_MODE_PROP_RANGE) { if (drmmode_prop->flags & DRM_MODE_PROP_RANGE) {
INT32 range[2]; INT32 prop_range[2];
INT32 value = p->value; INT32 value = p->value;
p->num_atoms = 1; p->num_atoms = 1;
@ -749,12 +837,12 @@ drmmode_output_create_resources(xf86OutputPtr output)
if (!p->atoms) if (!p->atoms)
continue; continue;
p->atoms[0] = MakeAtom(drmmode_prop->name, strlen(drmmode_prop->name), TRUE); p->atoms[0] = MakeAtom(drmmode_prop->name, strlen(drmmode_prop->name), TRUE);
range[0] = drmmode_prop->values[0]; prop_range[0] = drmmode_prop->values[0];
range[1] = drmmode_prop->values[1]; prop_range[1] = drmmode_prop->values[1];
err = RRConfigureOutputProperty(output->randr_output, p->atoms[0], err = RRConfigureOutputProperty(output->randr_output, p->atoms[0],
FALSE, TRUE, FALSE, TRUE,
drmmode_prop->flags & DRM_MODE_PROP_IMMUTABLE ? TRUE : FALSE, drmmode_prop->flags & DRM_MODE_PROP_IMMUTABLE ? TRUE : FALSE,
2, range); 2, prop_range);
if (err != 0) { if (err != 0) {
xf86DrvMsg(output->scrn->scrnIndex, X_ERROR, xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
"RRConfigureOutputProperty error, %d\n", err); "RRConfigureOutputProperty error, %d\n", err);
@ -873,7 +961,7 @@ static int subpixel_conv_table[7] = { 0, SubPixelUnknown,
SubPixelVerticalBGR, SubPixelVerticalBGR,
SubPixelNone }; SubPixelNone };
const char *output_names[] = { "None", static const char * const output_names[] = { "None",
"VGA", "VGA",
"DVI", "DVI",
"DVI", "DVI",
@ -888,7 +976,8 @@ const char *output_names[] = { "None",
"HDMI", "HDMI",
"TV", "TV",
"eDP", "eDP",
"Virtual" "Virtual",
"DSI",
}; };
static void static void
@ -921,6 +1010,10 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num, int *num_dv
/* need to do smart conversion here for compat with non-kms ATI driver */ /* need to do smart conversion here for compat with non-kms ATI driver */
if (koutput->connector_type >= MS_ARRAY_SIZE(output_names)) if (koutput->connector_type >= MS_ARRAY_SIZE(output_names))
snprintf(name, 32, "Unknown-%d", koutput->connector_type_id - 1); snprintf(name, 32, "Unknown-%d", koutput->connector_type_id - 1);
#ifdef MODESETTING_OUTPUT_SLAVE_SUPPORT
else if (pScrn->is_gpu)
snprintf(name, 32, "%s-%d-%d", output_names[koutput->connector_type], pScrn->scrnIndex - GPU_SCREEN_OFFSET + 1, koutput->connector_type_id - 1);
#endif
else else
snprintf(name, 32, "%s-%d", output_names[koutput->connector_type], koutput->connector_type_id - 1); snprintf(name, 32, "%s-%d", output_names[koutput->connector_type], koutput->connector_type_id - 1);
@ -1178,7 +1271,7 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp)
return TRUE; return TRUE;
} }
void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y, int flags) void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y)
{ {
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
xf86OutputPtr output = config->output[config->compat_output]; xf86OutputPtr output = config->output[config->compat_output];

View File

@ -37,6 +37,10 @@
#define MODESETTING_OUTPUT_SLAVE_SUPPORT 1 #define MODESETTING_OUTPUT_SLAVE_SUPPORT 1
#endif #endif
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
#define DamageUnregister(d, dd) DamageUnregister(dd)
#endif
struct dumb_bo { struct dumb_bo {
uint32_t handle; uint32_t handle;
uint32_t size; uint32_t size;
@ -118,7 +122,7 @@ Bool drmmode_SetSlaveBO(PixmapPtr ppix,
#endif #endif
extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp); extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp);
void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y, int flags); void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y);
extern Bool drmmode_set_desired_modes(ScrnInfoPtr pScrn, drmmode_ptr drmmode); extern Bool drmmode_set_desired_modes(ScrnInfoPtr pScrn, drmmode_ptr drmmode);
extern Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn); extern Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn);