Update to xf86-video-modesetting 0.8.1
This commit is contained in:
parent
d7b8fa72ff
commit
6006b2d2f7
@ -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
|
||||
Author: Dave Airlie <airlied@redhat.com>
|
||||
Date: Wed Jan 9 13:04:00 2013 +1000
|
||||
|
@ -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@
|
||||
|
||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
||||
@ -72,10 +72,13 @@ host_triplet = @host@
|
||||
subdir = .
|
||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(top_srcdir)/configure COPYING ChangeLog INSTALL compile \
|
||||
config.guess config.sub depcomp install-sh ltmain.sh missing
|
||||
$(top_srcdir)/configure COPYING ChangeLog INSTALL config.guess \
|
||||
config.sub depcomp install-sh ltmain.sh missing
|
||||
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) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
@ -168,6 +171,7 @@ AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
@ -183,16 +187,20 @@ CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DRM_CFLAGS = @DRM_CFLAGS@
|
||||
DRM_LIBS = @DRM_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
@ -202,21 +210,29 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_OPTS = @LT_OPTS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
@ -228,6 +244,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
||||
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
@ -246,7 +264,9 @@ abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
|
212
driver/xf86-video-modesetting/aclocal.m4
vendored
212
driver/xf86-video-modesetting/aclocal.m4
vendored
@ -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.
|
||||
|
||||
@ -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'.])])
|
||||
|
||||
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||
# serial 1 (pkg-config-0.24)
|
||||
#
|
||||
# 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],
|
||||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
|
||||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
|
||||
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
|
||||
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
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
fi
|
||||
@ -60,7 +65,6 @@ if test -n "$PKG_CONFIG"; then
|
||||
AC_MSG_RESULT([no])
|
||||
PKG_CONFIG=""
|
||||
fi
|
||||
|
||||
fi[]dnl
|
||||
])# PKG_PROG_PKG_CONFIG
|
||||
|
||||
@ -69,34 +73,32 @@ fi[]dnl
|
||||
# Check to see whether a particular set of modules exists. Similar
|
||||
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||
#
|
||||
#
|
||||
# Similar to PKG_CHECK_MODULES, make sure that the first instance of
|
||||
# this or PKG_CHECK_MODULES is called, or make sure to call
|
||||
# PKG_CHECK_EXISTS manually
|
||||
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
# only at the first occurence in configure.ac, so if the first place
|
||||
# it's called might be skipped (such as if it is within an "if", you
|
||||
# have to call PKG_CHECK_EXISTS manually
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||||
m4_ifval([$2], [$2], [:])
|
||||
m4_default([$2], [:])
|
||||
m4_ifvaln([$3], [else
|
||||
$3])dnl
|
||||
fi])
|
||||
|
||||
|
||||
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||||
# ---------------------------------------------
|
||||
m4_define([_PKG_CONFIG],
|
||||
[if test -n "$PKG_CONFIG"; then
|
||||
if test -n "$$1"; then
|
||||
pkg_cv_[]$1="$$1"
|
||||
else
|
||||
PKG_CHECK_EXISTS([$3],
|
||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
|
||||
[pkg_failed=yes])
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
[if test -n "$$1"; then
|
||||
pkg_cv_[]$1="$$1"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
PKG_CHECK_EXISTS([$3],
|
||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes ],
|
||||
[pkg_failed=yes])
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi[]dnl
|
||||
])# _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.])
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
AC_MSG_RESULT([no])
|
||||
_PKG_SHORT_ERRORS_SUPPORTED
|
||||
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
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
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:
|
||||
|
||||
$$1_PKG_ERRORS
|
||||
@ -155,28 +158,67 @@ $$1_PKG_ERRORS
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
_PKG_TEXT
|
||||
])],
|
||||
[AC_MSG_RESULT([no])
|
||||
$4])
|
||||
_PKG_TEXT])[]dnl
|
||||
])
|
||||
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
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
_PKG_TEXT
|
||||
|
||||
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
|
||||
[$4])
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
|
||||
])
|
||||
else
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
AC_MSG_RESULT([yes])
|
||||
ifelse([$3], , :, [$3])
|
||||
$3
|
||||
fi[]dnl
|
||||
])# 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.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
@ -192,7 +234,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||
[am__api_version='1.12'
|
||||
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.
|
||||
m4_if([$1], [1.12.5], [],
|
||||
m4_if([$1], [1.12.6], [],
|
||||
[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.
|
||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||
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_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||
@ -1198,28 +1240,15 @@ AC_SUBST([am__tar])
|
||||
AC_SUBST([am__untar])
|
||||
]) # _AM_PROG_TAR
|
||||
|
||||
# $OpenBSD: aclocal.m4,v 1.2 2013/01/17 07:22:28 matthieu Exp $
|
||||
# Minimal libtool.m4 for use with OpenBSD's libtool
|
||||
# serial 100
|
||||
AC_DEFUN([LT_INIT],[
|
||||
LIBTOOL="/usr/bin/libtool ${LT_OPTS}"
|
||||
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])
|
||||
|
||||
m4_include([m4/libtool.m4])
|
||||
m4_include([m4/ltoptions.m4])
|
||||
m4_include([m4/ltsugar.m4])
|
||||
m4_include([m4/ltversion.m4])
|
||||
m4_include([m4/lt~obsolete.m4])
|
||||
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
|
||||
dnl
|
||||
dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
dnl
|
||||
dnl
|
||||
dnl Permission is hereby granted, free of charge, to any person obtaining a
|
||||
dnl copy of this software and associated documentation files (the "Software"),
|
||||
dnl to deal in the Software without restriction, including without limitation
|
||||
@ -1252,10 +1281,10 @@ dnl DEALINGS IN THE SOFTWARE.
|
||||
# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
|
||||
#
|
||||
#
|
||||
# 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.
|
||||
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_needed], m4_substr([$1], 0, m4_index([$1], [.])))
|
||||
m4_if(m4_cmp(maj_have, maj_needed), 0,,
|
||||
@ -1275,7 +1304,7 @@ m4_undefine([maj_needed])
|
||||
# such as man pages and config files
|
||||
AC_DEFUN([XORG_PROG_RAWCPP],[
|
||||
AC_REQUIRE([AC_PROG_CPP])
|
||||
AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
|
||||
AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
|
||||
[$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
|
||||
|
||||
# Check for flag to avoid builtin definitions - assumes unix is predefined,
|
||||
@ -1305,6 +1334,7 @@ if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
|
||||
TRADITIONALCPPFLAGS="-traditional"
|
||||
RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
@ -1313,6 +1343,7 @@ else
|
||||
fi
|
||||
rm -f conftest.$ac_ext
|
||||
AC_SUBST(RAWCPPFLAGS)
|
||||
AC_SUBST(TRADITIONALCPPFLAGS)
|
||||
]) # XORG_PROG_RAWCPP
|
||||
|
||||
# XORG_MANPAGE_SECTIONS()
|
||||
@ -1837,9 +1868,10 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
|
||||
]) # XORG_WITH_ASCIIDOC
|
||||
|
||||
# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
|
||||
# --------------------------------
|
||||
# -------------------------------------------
|
||||
# Minimum version: 1.5.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
|
||||
# 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_ARG_VAR([DOXYGEN], [Path to doxygen command])
|
||||
AC_ARG_VAR([DOT], [Path to the dot graphics utility])
|
||||
m4_define([_defopt], m4_default([$2], [auto]))
|
||||
AC_ARG_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])
|
||||
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])
|
||||
]) # XORG_WITH_DOXYGEN
|
||||
|
||||
@ -2084,6 +2131,29 @@ fi])
|
||||
AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
|
||||
]) # 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])
|
||||
# ----------------
|
||||
# Minimum version: 1.6.0
|
||||
@ -2538,7 +2608,8 @@ AC_ARG_ENABLE(malloc0returnsnull,
|
||||
|
||||
AC_MSG_CHECKING([whether malloc(0) returns NULL])
|
||||
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>
|
||||
],[
|
||||
char *m0, *r0, *c0, *p;
|
||||
@ -2548,9 +2619,9 @@ if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
|
||||
c0 = calloc(0,10);
|
||||
exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
|
||||
])],
|
||||
[MALLOC_ZERO_RETURNS_NULL=yes],
|
||||
[MALLOC_ZERO_RETURNS_NULL=no],
|
||||
[MALLOC_ZERO_RETURNS_NULL=yes])
|
||||
[xorg_cv_malloc0_returns_null=yes],
|
||||
[xorg_cv_malloc0_returns_null=no])])
|
||||
MALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null
|
||||
fi
|
||||
AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
|
||||
|
||||
@ -2761,18 +2832,18 @@ fi
|
||||
found="no"
|
||||
m4_foreach([flag], m4_cdr($@), [
|
||||
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"
|
||||
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"
|
||||
fi
|
||||
|
||||
PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
|
||||
|
||||
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[])
|
||||
AC_CACHE_VAL($cacheid,
|
||||
[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]], [-Wnested-externs])
|
||||
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])
|
||||
]
|
||||
)
|
||||
@ -2848,16 +2919,17 @@ AC_LANG_CASE(
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
|
||||
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
|
||||
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-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
|
||||
# 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.
|
||||
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
|
||||
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
|
||||
# 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
|
||||
# when there are problems that should be fixed.
|
||||
@ -3031,7 +3103,7 @@ dnl
|
||||
# XORG_RELEASE_VERSION
|
||||
# --------------------
|
||||
# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
|
||||
|
||||
|
||||
AC_DEFUN([XORG_RELEASE_VERSION],[
|
||||
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
|
||||
[`echo $PACKAGE_VERSION | cut -d . -f 1`],
|
||||
@ -3093,10 +3165,10 @@ dnl other dealings in this Software without prior written authorization
|
||||
dnl from the copyright holders.
|
||||
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
|
||||
# is defined, then add $1 to $REQUIRED_MODULES.
|
||||
# Checks for the MACRO define in xorg-server.h (from the sdk). If it
|
||||
# is defined, then add the given PROTO to $REQUIRED_MODULES.
|
||||
|
||||
AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
|
||||
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
|
@ -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:
|
@ -2,6 +2,9 @@
|
||||
|
||||
#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. */
|
||||
#undef HAVE_DRMPRIMEFDTOHANDLE
|
||||
|
||||
@ -38,6 +41,10 @@
|
||||
/* xextproto 7.1 available */
|
||||
#undef HAVE_XEXTPROTO_71
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
|
8
driver/xf86-video-modesetting/config.sub
vendored
8
driver/xf86-video-modesetting/config.sub
vendored
@ -4,7 +4,7 @@
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011, 2012 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2012-10-10'
|
||||
timestamp='2012-12-06'
|
||||
|
||||
# This file is (in principle) common to ALL 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
|
||||
os=-pw32
|
||||
;;
|
||||
rdos)
|
||||
rdos | rdos64)
|
||||
basic_machine=x86_64-pc
|
||||
os=-rdos
|
||||
;;
|
||||
rdos32)
|
||||
basic_machine=i386-pc
|
||||
os=-rdos
|
||||
;;
|
||||
|
10224
driver/xf86-video-modesetting/configure
vendored
10224
driver/xf86-video-modesetting/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -23,7 +23,7 @@
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([xf86-video-modesetting],
|
||||
[0.6.0],
|
||||
[0.8.1],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
|
||||
[xf86-video-modesetting])
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
|
@ -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@
|
||||
|
||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
||||
@ -79,7 +79,10 @@ host_triplet = @host@
|
||||
subdir = man
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
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) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
@ -142,6 +145,7 @@ AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
@ -157,16 +161,20 @@ CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DRM_CFLAGS = @DRM_CFLAGS@
|
||||
DRM_LIBS = @DRM_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
@ -176,21 +184,29 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_OPTS = @LT_OPTS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
@ -202,6 +218,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
||||
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
@ -220,7 +238,9 @@ abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
|
@ -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@
|
||||
|
||||
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
||||
@ -80,7 +80,10 @@ subdir = src
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(top_srcdir)/depcomp
|
||||
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) \
|
||||
$(ACLOCAL_M4)
|
||||
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_0 = --silent
|
||||
am__v_lt_1 =
|
||||
modesetting_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(modesetting_drv_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
modesetting_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||
$(AM_CFLAGS) $(CFLAGS) $(modesetting_drv_la_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
@ -144,17 +148,18 @@ am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
@ -176,6 +181,7 @@ AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
APP_MAN_DIR = @APP_MAN_DIR@
|
||||
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
@ -191,16 +197,20 @@ CWARNFLAGS = @CWARNFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||
DRIVER_NAME = @DRIVER_NAME@
|
||||
DRM_CFLAGS = @DRM_CFLAGS@
|
||||
DRM_LIBS = @DRM_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||
GREP = @GREP@
|
||||
@ -210,21 +220,29 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_OPTS = @LT_OPTS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MAN_SUBSTS = @MAN_SUBSTS@
|
||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
@ -236,6 +254,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
||||
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
@ -254,7 +274,9 @@ abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
|
@ -92,7 +92,7 @@ static Bool ms_driver_func(ScrnInfoPtr scrn, xorgDriverFuncOp op,
|
||||
static const struct pci_id_match ms_device_match[] = {
|
||||
{
|
||||
PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY,
|
||||
0x00030000, 0x00ffffff, 0
|
||||
0x00030000, 0x00ff0000, 0
|
||||
},
|
||||
|
||||
{ 0, 0, 0 },
|
||||
@ -189,7 +189,7 @@ Identify(int flags)
|
||||
Chipsets);
|
||||
}
|
||||
|
||||
static int open_hw(char *dev)
|
||||
static int open_hw(const char *dev)
|
||||
{
|
||||
int fd;
|
||||
if (dev)
|
||||
@ -207,12 +207,25 @@ static int open_hw(char *dev)
|
||||
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);
|
||||
if (fd != -1) {
|
||||
int ret = check_outputs(fd);
|
||||
close(fd);
|
||||
return TRUE;
|
||||
return ret;
|
||||
}
|
||||
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;
|
||||
drmSetVersion sv;
|
||||
|
||||
@ -253,13 +266,12 @@ static Bool probe_hw_pci(char *dev, struct pci_device *pdev)
|
||||
devid = ms_DRICreatePCIBusID(pdev);
|
||||
close(fd);
|
||||
|
||||
if (!id || !devid)
|
||||
return FALSE;
|
||||
if (id && devid && !strcmp(id, devid))
|
||||
ret = check_outputs(fd);
|
||||
|
||||
if (!strcmp(id, devid))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
free(id);
|
||||
free(devid);
|
||||
return ret;
|
||||
}
|
||||
static const OptionInfoRec *
|
||||
AvailableOptions(int chipid, int busid)
|
||||
@ -292,7 +304,7 @@ ms_pci_probe(DriverPtr driver,
|
||||
scrn = xf86ConfigPciEntity(scrn, 0, entity_num, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL);
|
||||
if (scrn) {
|
||||
char *devpath;
|
||||
const char *devpath;
|
||||
GDevPtr devSection = xf86GetDevFromEntity(scrn->entityList[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)
|
||||
{
|
||||
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;
|
||||
|
||||
if (flags & PLATFORM_PROBE_GPU_SCREEN)
|
||||
@ -363,7 +375,7 @@ Probe(DriverPtr drv, int flags)
|
||||
int i, numDevSections;
|
||||
GDevPtr *devSections;
|
||||
Bool foundScreen = FALSE;
|
||||
char *dev;
|
||||
const char *dev;
|
||||
ScrnInfoPtr scrn = NULL;
|
||||
|
||||
/* For now, just bail out for PROBE_DETECT. */
|
||||
@ -536,15 +548,28 @@ static void msBlockHandler(BLOCKHANDLER_ARGS_DECL)
|
||||
static void
|
||||
FreeRec(ScrnInfoPtr pScrn)
|
||||
{
|
||||
modesettingPtr ms;
|
||||
|
||||
if (!pScrn)
|
||||
return;
|
||||
|
||||
if (!pScrn->driverPrivate)
|
||||
return;
|
||||
|
||||
free(pScrn->driverPrivate);
|
||||
return;
|
||||
|
||||
ms = modesettingPTR(pScrn);
|
||||
if (!ms)
|
||||
return;
|
||||
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
|
||||
@ -554,7 +579,8 @@ PreInit(ScrnInfoPtr pScrn, int flags)
|
||||
rgb defaultWeight = { 0, 0, 0 };
|
||||
EntityInfoPtr pEnt;
|
||||
EntPtr msEnt = NULL;
|
||||
char *BusID = NULL, *devicename;
|
||||
char *BusID = NULL;
|
||||
const char *devicename;
|
||||
Bool prefer_shadow = TRUE;
|
||||
uint64_t value = 0;
|
||||
int ret;
|
||||
@ -602,8 +628,8 @@ PreInit(ScrnInfoPtr pScrn, int flags)
|
||||
|
||||
#if XSERVER_PLATFORM_BUS
|
||||
if (pEnt->location.type == BUS_PLATFORM) {
|
||||
char *path = xf86_get_platform_device_attrib(pEnt->location.id.plat, ODEV_ATTRIB_PATH);
|
||||
ms->fd = open_hw(path);
|
||||
char *path = xf86_get_platform_device_attrib(pEnt->location.id.plat, ODEV_ATTRIB_PATH);
|
||||
ms->fd = open_hw(path);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@ -644,7 +670,7 @@ PreInit(ScrnInfoPtr pScrn, int flags)
|
||||
#endif
|
||||
drmmode_get_default_bpp(pScrn, &ms->drmmode, &defaultdepth, &defaultbpp);
|
||||
if (defaultdepth == 24 && defaultbpp == 24)
|
||||
bppflags = Support24bppFb;
|
||||
bppflags = SupportConvert32to24 | Support24bppFb;
|
||||
else
|
||||
bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb;
|
||||
|
||||
@ -950,16 +976,9 @@ static void
|
||||
AdjustFrame(ADJUST_FRAME_ARGS_DECL)
|
||||
{
|
||||
SCRN_INFO_PTR(arg);
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
|
||||
xf86OutputPtr output = config->output[config->compat_output];
|
||||
xf86CrtcPtr crtc = output->crtc;
|
||||
modesettingPtr ms = modesettingPTR(pScrn);
|
||||
|
||||
if (crtc && crtc->enabled) {
|
||||
crtc->funcs->mode_set(crtc, pScrn->currentMode, pScrn->currentMode, x,
|
||||
y);
|
||||
crtc->x = output->initial_x + x;
|
||||
crtc->y = output->initial_y + y;
|
||||
}
|
||||
drmmode_adjust_frame(pScrn, &ms->drmmode, x, y);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -534,19 +534,29 @@ drmmode_set_scanout_pixmap(xf86CrtcPtr crtc, PixmapPtr ppix)
|
||||
DamageRegister(&ppix->drawable, drmmode_crtc->slave_damage);
|
||||
|
||||
if (ppriv->fb_id == 0) {
|
||||
int r;
|
||||
r = drmModeAddFB(drmmode->fd, ppix->drawable.width,
|
||||
ppix->drawable.height,
|
||||
ppix->drawable.depth,
|
||||
ppix->drawable.bitsPerPixel,
|
||||
ppix->devKind,
|
||||
ppriv->backing_bo->handle,
|
||||
&ppriv->fb_id);
|
||||
drmModeAddFB(drmmode->fd, ppix->drawable.width,
|
||||
ppix->drawable.height,
|
||||
ppix->drawable.depth,
|
||||
ppix->drawable.bitsPerPixel,
|
||||
ppix->devKind,
|
||||
ppriv->backing_bo->handle,
|
||||
&ppriv->fb_id);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#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 = {
|
||||
.dpms = drmmode_crtc_dpms,
|
||||
.set_mode_major = drmmode_set_mode_major,
|
||||
@ -561,6 +571,8 @@ static const xf86CrtcFuncsRec drmmode_crtc_funcs = {
|
||||
#ifdef MODESETTING_OUTPUT_SLAVE_SUPPORT
|
||||
.set_scanout_pixmap = drmmode_set_scanout_pixmap,
|
||||
#endif
|
||||
.shadow_allocate = drmmode_shadow_allocate,
|
||||
.shadow_create = drmmode_shadow_create,
|
||||
};
|
||||
|
||||
static void
|
||||
@ -613,6 +625,78 @@ drmmode_output_mode_valid(xf86OutputPtr output, DisplayModePtr pModes)
|
||||
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
|
||||
drmmode_output_get_modes(xf86OutputPtr output)
|
||||
{
|
||||
@ -624,6 +708,9 @@ drmmode_output_get_modes(xf86OutputPtr output)
|
||||
drmModePropertyPtr props;
|
||||
xf86MonPtr mon = NULL;
|
||||
|
||||
if (!koutput)
|
||||
return NULL;
|
||||
|
||||
/* look for an EDID property */
|
||||
for (i = 0; i < koutput->count_props; i++) {
|
||||
props = drmModeGetProperty(drmmode->fd, koutput->props[i]);
|
||||
@ -653,7 +740,8 @@ drmmode_output_get_modes(xf86OutputPtr output)
|
||||
Modes = xf86ModesAdd(Modes, Mode);
|
||||
|
||||
}
|
||||
return Modes;
|
||||
|
||||
return drmmode_output_add_gtf_modes(output, Modes);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -741,7 +829,7 @@ drmmode_output_create_resources(xf86OutputPtr output)
|
||||
drmmode_prop = p->mode_prop;
|
||||
|
||||
if (drmmode_prop->flags & DRM_MODE_PROP_RANGE) {
|
||||
INT32 range[2];
|
||||
INT32 prop_range[2];
|
||||
INT32 value = p->value;
|
||||
|
||||
p->num_atoms = 1;
|
||||
@ -749,12 +837,12 @@ drmmode_output_create_resources(xf86OutputPtr output)
|
||||
if (!p->atoms)
|
||||
continue;
|
||||
p->atoms[0] = MakeAtom(drmmode_prop->name, strlen(drmmode_prop->name), TRUE);
|
||||
range[0] = drmmode_prop->values[0];
|
||||
range[1] = drmmode_prop->values[1];
|
||||
prop_range[0] = drmmode_prop->values[0];
|
||||
prop_range[1] = drmmode_prop->values[1];
|
||||
err = RRConfigureOutputProperty(output->randr_output, p->atoms[0],
|
||||
FALSE, TRUE,
|
||||
drmmode_prop->flags & DRM_MODE_PROP_IMMUTABLE ? TRUE : FALSE,
|
||||
2, range);
|
||||
2, prop_range);
|
||||
if (err != 0) {
|
||||
xf86DrvMsg(output->scrn->scrnIndex, X_ERROR,
|
||||
"RRConfigureOutputProperty error, %d\n", err);
|
||||
@ -873,22 +961,23 @@ static int subpixel_conv_table[7] = { 0, SubPixelUnknown,
|
||||
SubPixelVerticalBGR,
|
||||
SubPixelNone };
|
||||
|
||||
const char *output_names[] = { "None",
|
||||
"VGA",
|
||||
"DVI",
|
||||
"DVI",
|
||||
"DVI",
|
||||
"Composite",
|
||||
"S-video",
|
||||
"LVDS",
|
||||
"CTV",
|
||||
"DIN",
|
||||
"DisplayPort",
|
||||
"HDMI",
|
||||
"HDMI",
|
||||
"TV",
|
||||
"eDP",
|
||||
"Virtual"
|
||||
static const char * const output_names[] = { "None",
|
||||
"VGA",
|
||||
"DVI",
|
||||
"DVI",
|
||||
"DVI",
|
||||
"Composite",
|
||||
"S-video",
|
||||
"LVDS",
|
||||
"CTV",
|
||||
"DIN",
|
||||
"DisplayPort",
|
||||
"HDMI",
|
||||
"HDMI",
|
||||
"TV",
|
||||
"eDP",
|
||||
"Virtual",
|
||||
"DSI",
|
||||
};
|
||||
|
||||
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 */
|
||||
if (koutput->connector_type >= MS_ARRAY_SIZE(output_names))
|
||||
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
|
||||
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;
|
||||
}
|
||||
|
||||
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);
|
||||
xf86OutputPtr output = config->output[config->compat_output];
|
||||
|
@ -37,6 +37,10 @@
|
||||
#define MODESETTING_OUTPUT_SLAVE_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
|
||||
#define DamageUnregister(d, dd) DamageUnregister(dd)
|
||||
#endif
|
||||
|
||||
struct dumb_bo {
|
||||
uint32_t handle;
|
||||
uint32_t size;
|
||||
@ -118,7 +122,7 @@ Bool drmmode_SetSlaveBO(PixmapPtr ppix,
|
||||
#endif
|
||||
|
||||
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_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user