Update xf86-video-mach64 to version 0.9.6

Tested on a Mach64 CT
This commit is contained in:
matthieu 2019-01-05 16:44:56 +00:00
parent 5e1510c019
commit b290bc2f31
11 changed files with 268 additions and 326 deletions

View File

@ -1,3 +1,94 @@
commit a504b15fc74f7725f67866e22407b742d1d435a9
Author: Adam Jackson <ajax@redhat.com>
Date: Fri May 18 12:49:30 2018 -0400
mach64 6.9.6
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit eab6848f85d26c824f8096949105bf4894a1d48d
Author: Emil Velikov <emil.velikov@collabora.com>
Date: Mon Jul 17 13:44:55 2017 +0100
xf86-video-mach64: remove the GlxSetVisualConfigs stub and friends
The function was an empty since 2008 at least. Remove it alongside the
unused GLX visuals code.
With this all the GL/GLX dependencies in the driver are gone.
Cc: Adam Jackson <ajax@redhat.com>
Cc: Connor Behan <connor.behan@gmail.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
commit 5ae03dc9f4564de54df6427ed7e6e80e75a4179e
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Feb 16 11:18:10 2017 -0500
D'oh, fix the previous commit
These limits are against mode->[HV]Total, not Display.
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit e27785a3fbabc9f354c361b5058b0359b6d9b5ae
Author: Adam Jackson <ajax@redhat.com>
Date: Thu Feb 16 11:13:59 2017 -0500
Move max mode h/v checks into ATIValidMode
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit dec6d18b61a1f8841303572ae5931fe6c937664f
Author: Mihail Konev <k.mvc@ya.ru>
Date: Thu Jan 26 14:00:22 2017 +1000
autogen: add default patch prefix
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
commit e67dab498fc7b6b4c73b5c33c550ecfcb814b4b1
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date: Mon Mar 9 12:00:52 2015 +0000
autogen.sh: use quoted string variables
Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
fall-outs, when they contain space.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 2707a8ea311a2d40e0db8161225241bc360ab61d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jan 24 10:32:07 2017 +1000
autogen.sh: use exec instead of waiting for configure to finish
Syncs the invocation of configure with the one from the server.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
commit 811890e401299f5a80e237fbaa216c9242654119
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jun 1 21:03:14 2014 -0700
autogen.sh: Honor NOCONFIGURE=1
See http://people.gnome.org/~walters/docs/build-api.txt
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit de20547a7c31cf576d9b5b9ac607a1bde93542b8
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jun 1 21:03:13 2014 -0700
configure: Drop AM_MAINTAINER_MODE
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 8f920350a736012ce2a7469d8252f5f5bf72cef3 commit 8f920350a736012ce2a7469d8252f5f5bf72cef3
Author: Adam Jackson <ajax@redhat.com> Author: Adam Jackson <ajax@redhat.com>
Date: Mon May 4 15:50:09 2015 -0400 Date: Mon May 4 15:50:09 2015 -0400
@ -601,11 +692,11 @@ Date: Sun May 10 16:56:02 2009 -0700
Fixes these warnings from parfait source checker: Fixes these warnings from parfait source checker:
Error: Read buffer overflow at src/atimach64render.c:601 Error: Read buffer overflow at src/atimach64render.c:601
in function 'Mach64PrepareTexture' [Symbolic analysis] in function 'Mach64PrepareTexture' [Symbolic analysis]
In array dereference of Mach64TexFormats[i] with index 'i' In array dereference of Mach64TexFormats[i] with index 'i'
Array size is 6 elements (of 12 bytes each), index >= 0 and index <= 6 Array size is 6 elements (of 12 bytes each), index >= 0 and index <= 6
Error: Read buffer overflow at src/atimach64render.c:712 Error: Read buffer overflow at src/atimach64render.c:712
in function 'Mach64PrepareComposite' [Symbolic analysis] in function 'Mach64PrepareComposite' [Symbolic analysis]
In array dereference of Mach64TexFormats[i] with index 'i' In array dereference of Mach64TexFormats[i] with index 'i'
Array size is 6 elements (of 12 bytes each), index >= 0 and index <= 6 Array size is 6 elements (of 12 bytes each), index >= 0 and index <= 6
@ -816,7 +907,7 @@ Date: Sun Feb 24 05:37:22 2008 -0500
Conflicts: Conflicts:
src/radeon_commonfuncs.c src/radeon_commonfuncs.c
commit 27ddb39b12a0b54e099fd5274c4c91f08e2d2822 commit 27ddb39b12a0b54e099fd5274c4c91f08e2d2822
Author: Alex Deucher <alex@samba.(none)> Author: Alex Deucher <alex@samba.(none)>
@ -1902,8 +1993,8 @@ Date: Fri Dec 21 09:36:22 2007 +1000
Conflicts: Conflicts:
src/radeon_display.c src/radeon_display.c
src/radeon_driver.c src/radeon_driver.c
commit eb99c3c5c9a2249cb84920f0f225e525fc3a4144 commit eb99c3c5c9a2249cb84920f0f225e525fc3a4144
Author: Alex Deucher <alex@botch2.(none)> Author: Alex Deucher <alex@botch2.(none)>
@ -2283,10 +2374,10 @@ Date: Mon Dec 10 15:18:03 2007 +1000
Conflicts: Conflicts:
src/radeon.h src/radeon.h
src/radeon_crtc.c src/radeon_crtc.c
src/radeon_driver.c src/radeon_driver.c
src/radeon_output.c src/radeon_output.c
commit 6451ea2dcc4fac762442f699935864f4a8d445f7 commit 6451ea2dcc4fac762442f699935864f4a8d445f7
Merge: 0d89556 5896ca4 Merge: 0d89556 5896ca4
@ -2357,7 +2448,7 @@ Date: Thu Dec 6 14:22:03 2007 +1000
Conflicts: Conflicts:
src/radeon_output.c src/radeon_output.c
commit 21ed435398e4a398dd8a0a5d7c1d4cc45e916332 commit 21ed435398e4a398dd8a0a5d7c1d4cc45e916332
Author: Alex Deucher <alex@t41p.hsd1.va.comcast.net> Author: Alex Deucher <alex@t41p.hsd1.va.comcast.net>
@ -2864,9 +2955,9 @@ Date: Tue Nov 20 13:02:43 2007 +1000
Conflicts: Conflicts:
src/radeon_chipset.h src/radeon_chipset.h
src/radeon_driver.c src/radeon_driver.c
src/radeon_probe.c src/radeon_probe.c
commit 0d1e0c7805b3d8e56ccb49465e6b144afb7bdc51 commit 0d1e0c7805b3d8e56ccb49465e6b144afb7bdc51
Author: Dave Airlie <airlied@redhat.com> Author: Dave Airlie <airlied@redhat.com>
@ -2889,8 +2980,8 @@ Date: Tue Nov 20 08:04:32 2007 +1000
Conflicts: Conflicts:
src/radeon_cursor.c src/radeon_cursor.c
src/radeon_output.c src/radeon_output.c
commit 744c8cb6c293fcaa687566f52901644e699baace commit 744c8cb6c293fcaa687566f52901644e699baace
Merge: e258fbe e530af7 Merge: e258fbe e530af7
@ -4101,7 +4192,7 @@ Date: Tue Aug 28 16:01:12 2007 +0300
Conflicts: Conflicts:
src/ati.c src/ati.c
commit 673f799729824f4439dd5f681f75dd5aab50947f commit 673f799729824f4439dd5f681f75dd5aab50947f
Author: Alex Deucher <alex@botch2.(none)> Author: Alex Deucher <alex@botch2.(none)>
@ -4372,14 +4463,14 @@ Date: Thu Aug 23 19:42:19 2007 +1000
Conflicts: Conflicts:
src/radeon.h src/radeon.h
src/radeon_bios.c src/radeon_bios.c
src/radeon_display.c src/radeon_display.c
src/radeon_dri.c src/radeon_dri.c
src/radeon_driver.c src/radeon_driver.c
src/radeon_modes.c src/radeon_modes.c
src/radeon_probe.h src/radeon_probe.h
src/radeon_video.c src/radeon_video.c
commit 53a67e31904bec9a3aa1bd24de8034dcafea1d2a commit 53a67e31904bec9a3aa1bd24de8034dcafea1d2a
Author: Alex Deucher <alex@t41p.hsd1.va.comcast.net> Author: Alex Deucher <alex@t41p.hsd1.va.comcast.net>
@ -5245,9 +5336,9 @@ Date: Wed May 30 17:27:22 2007 +1000
Conflicts: Conflicts:
src/radeon_cursor.c src/radeon_cursor.c
src/radeon_display.c src/radeon_display.c
src/radeon_driver.c src/radeon_driver.c
commit 800bf53279e2c2bf854682bbfd6fa16d03afed00 commit 800bf53279e2c2bf854682bbfd6fa16d03afed00
Author: Matthieu Herrb <matthieu@deville.herrb.com> Author: Matthieu Herrb <matthieu@deville.herrb.com>
@ -6233,8 +6324,8 @@ Date: Sun Feb 25 23:27:19 2007 +1100
Conflicts: Conflicts:
src/radeon_display.c src/radeon_display.c
src/radeon_driver.c src/radeon_driver.c
commit 3b43788c45f51ad2d3e8e64383c412f4ddd97207 commit 3b43788c45f51ad2d3e8e64383c412f4ddd97207
Author: Dave Airlie <airlied@linux.ie> Author: Dave Airlie <airlied@linux.ie>
@ -7744,7 +7835,7 @@ Date: Fri Sep 22 06:00:04 2006 +1000
Conflicts: Conflicts:
src/radeon_driver.c src/radeon_driver.c
commit 9fa176c7989030e7340cc9b85d0b6a7b34303091 commit 9fa176c7989030e7340cc9b85d0b6a7b34303091
Author: Alex Deucher <alex@samba.(none)> Author: Alex Deucher <alex@samba.(none)>

View File

@ -8806,6 +8806,23 @@ m4_popdef([pkg_default])
m4_popdef([pkg_description]) m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR ]) dnl PKG_NOARCH_INSTALLDIR
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
# 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
@ -9829,7 +9846,7 @@ AC_SUBST([am__untar])
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, 2015, Oracle and/or its affiliates. All rights reserved.
dnl dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a 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 copy of this software and associated documentation files (the "Software"),
@ -9866,7 +9883,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.19.0]) m4_define([vers_have], [1.19.2])
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,,
@ -9944,6 +9961,17 @@ AC_DEFUN([XORG_MANPAGE_SECTIONS],[
AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_PROG_SED]) AC_REQUIRE([AC_PROG_SED])
case $host_os in
solaris*)
# Solaris 2.0 - 11.3 use SysV man page section numbers, so we
# check for a man page file found in later versions that use
# traditional section numbers instead
AC_CHECK_FILE([/usr/share/man/man7/attributes.7],
[SYSV_MAN_SECTIONS=false], [SYSV_MAN_SECTIONS=true])
;;
*) SYSV_MAN_SECTIONS=false ;;
esac
if test x$APP_MAN_SUFFIX = x ; then if test x$APP_MAN_SUFFIX = x ; then
APP_MAN_SUFFIX=1 APP_MAN_SUFFIX=1
fi fi
@ -9959,9 +9987,9 @@ if test x$LIB_MAN_DIR = x ; then
fi fi
if test x$FILE_MAN_SUFFIX = x ; then if test x$FILE_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) FILE_MAN_SUFFIX=4 ;; true) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;; *) FILE_MAN_SUFFIX=5 ;;
esac esac
fi fi
if test x$FILE_MAN_DIR = x ; then if test x$FILE_MAN_DIR = x ; then
@ -9969,9 +9997,9 @@ if test x$FILE_MAN_DIR = x ; then
fi fi
if test x$MISC_MAN_SUFFIX = x ; then if test x$MISC_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) MISC_MAN_SUFFIX=5 ;; true) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;; *) MISC_MAN_SUFFIX=7 ;;
esac esac
fi fi
if test x$MISC_MAN_DIR = x ; then if test x$MISC_MAN_DIR = x ; then
@ -9979,9 +10007,9 @@ if test x$MISC_MAN_DIR = x ; then
fi fi
if test x$DRIVER_MAN_SUFFIX = x ; then if test x$DRIVER_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) DRIVER_MAN_SUFFIX=7 ;; true) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;; *) DRIVER_MAN_SUFFIX=4 ;;
esac esac
fi fi
if test x$DRIVER_MAN_DIR = x ; then if test x$DRIVER_MAN_DIR = x ; then
@ -9989,9 +10017,9 @@ if test x$DRIVER_MAN_DIR = x ; then
fi fi
if test x$ADMIN_MAN_SUFFIX = x ; then if test x$ADMIN_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) ADMIN_MAN_SUFFIX=1m ;; true) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;; *) ADMIN_MAN_SUFFIX=8 ;;
esac esac
fi fi
if test x$ADMIN_MAN_DIR = x ; then if test x$ADMIN_MAN_DIR = x ; then
@ -10252,13 +10280,24 @@ m4_ifval([$1],
fi]) fi])
# Test for the ability of xmlto to generate a text target # Test for the ability of xmlto to generate a text target
#
# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the
# following test for empty XML docbook files.
# For compatibility reasons use the following empty XML docbook file and if
# it fails try it again with a non-empty XML file.
have_xmlto_text=no have_xmlto_text=no
cat > conftest.xml << "EOF" cat > conftest.xml << "EOF"
EOF EOF
AS_IF([test "$have_xmlto" = yes], AS_IF([test "$have_xmlto" = yes],
[AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
[have_xmlto_text=yes], [have_xmlto_text=yes],
[AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])]) [# Try it again with a non-empty XML file.
cat > conftest.xml << "EOF"
<x></x>
EOF
AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
[have_xmlto_text=yes],
[AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])])
rm -f conftest.xml rm -f conftest.xml
AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
@ -11654,8 +11693,9 @@ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ || (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" touch \$(top_srcdir)/INSTALL; \
echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
AC_SUBST([INSTALL_CMD]) AC_SUBST([INSTALL_CMD])
]) # XORG_INSTALL ]) # XORG_INSTALL
dnl Copyright 2005 Red Hat, Inc dnl Copyright 2005 Red Hat, Inc
@ -11716,10 +11756,11 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
# #
# #
AC_DEFUN([XORG_CHANGELOG], [ AC_DEFUN([XORG_CHANGELOG], [
CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \ CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \ mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ || (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
echo 'git directory not found: installing possibly empty changelog.' >&2)" touch \$(top_srcdir)/ChangeLog; \
echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
AC_SUBST([CHANGELOG_CMD]) AC_SUBST([CHANGELOG_CMD])
]) # XORG_CHANGELOG ]) # XORG_CHANGELOG

View File

@ -1,9 +1,9 @@
#! /bin/sh #!/bin/sh
# Wrapper for compilers which do not understand '-c -o'. # Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC scriptversion=2016-01-11.22; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>. # Written by Tom Tromey <tromey@cygnus.com>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -255,7 +255,8 @@ EOF
echo "compile $scriptversion" echo "compile $scriptversion"
exit $? exit $?
;; ;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return... func_cl_wrapper "$@" # Doesn't return...
;; ;;
esac esac
@ -342,6 +343,6 @@ exit $ret
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:

View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for xf86-video-mach64 6.9.5. # Generated by GNU Autoconf 2.69 for xf86-video-mach64 6.9.6.
# #
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
# #
@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='xf86-video-mach64' PACKAGE_NAME='xf86-video-mach64'
PACKAGE_TARNAME='xf86-video-mach64' PACKAGE_TARNAME='xf86-video-mach64'
PACKAGE_VERSION='6.9.5' PACKAGE_VERSION='6.9.6'
PACKAGE_STRING='xf86-video-mach64 6.9.5' PACKAGE_STRING='xf86-video-mach64 6.9.6'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL='' PACKAGE_URL=''
@ -1380,7 +1380,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures xf86-video-mach64 6.9.5 to adapt to many kinds of systems. \`configure' configures xf86-video-mach64 6.9.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1451,7 +1451,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of xf86-video-mach64 6.9.5:";; short | recursive ) echo "Configuration of xf86-video-mach64 6.9.6:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1587,7 +1587,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
xf86-video-mach64 configure 6.9.5 xf86-video-mach64 configure 6.9.6
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -2002,7 +2002,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by xf86-video-mach64 $as_me 6.9.5, which was It was created by xf86-video-mach64 $as_me 6.9.6, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2831,7 +2831,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='xf86-video-mach64' PACKAGE='xf86-video-mach64'
VERSION='6.9.5' VERSION='6.9.6'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -10498,10 +10498,11 @@ _ACEOF
CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \ CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \ mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ || (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
echo 'git directory not found: installing possibly empty changelog.' >&2)" touch \$(top_srcdir)/ChangeLog; \
echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
@ -10509,14 +10510,45 @@ echo 'git directory not found: installing possibly empty changelog.' >&2)"
macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ || (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" touch \$(top_srcdir)/INSTALL; \
echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
case $host_os in
solaris*)
# Solaris 2.0 - 11.3 use SysV man page section numbers, so we
# check for a man page file found in later versions that use
# traditional section numbers instead
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/man/man7/attributes.7" >&5
$as_echo_n "checking for /usr/share/man/man7/attributes.7... " >&6; }
if ${ac_cv_file__usr_share_man_man7_attributes_7+:} false; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "/usr/share/man/man7/attributes.7"; then
ac_cv_file__usr_share_man_man7_attributes_7=yes
else
ac_cv_file__usr_share_man_man7_attributes_7=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_man_man7_attributes_7" >&5
$as_echo "$ac_cv_file__usr_share_man_man7_attributes_7" >&6; }
if test "x$ac_cv_file__usr_share_man_man7_attributes_7" = xyes; then :
SYSV_MAN_SECTIONS=false
else
SYSV_MAN_SECTIONS=true
fi
;;
*) SYSV_MAN_SECTIONS=false ;;
esac
if test x$APP_MAN_SUFFIX = x ; then if test x$APP_MAN_SUFFIX = x ; then
APP_MAN_SUFFIX=1 APP_MAN_SUFFIX=1
fi fi
@ -10532,9 +10564,9 @@ if test x$LIB_MAN_DIR = x ; then
fi fi
if test x$FILE_MAN_SUFFIX = x ; then if test x$FILE_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) FILE_MAN_SUFFIX=4 ;; true) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;; *) FILE_MAN_SUFFIX=5 ;;
esac esac
fi fi
if test x$FILE_MAN_DIR = x ; then if test x$FILE_MAN_DIR = x ; then
@ -10542,9 +10574,9 @@ if test x$FILE_MAN_DIR = x ; then
fi fi
if test x$MISC_MAN_SUFFIX = x ; then if test x$MISC_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) MISC_MAN_SUFFIX=5 ;; true) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;; *) MISC_MAN_SUFFIX=7 ;;
esac esac
fi fi
if test x$MISC_MAN_DIR = x ; then if test x$MISC_MAN_DIR = x ; then
@ -10552,9 +10584,9 @@ if test x$MISC_MAN_DIR = x ; then
fi fi
if test x$DRIVER_MAN_SUFFIX = x ; then if test x$DRIVER_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) DRIVER_MAN_SUFFIX=7 ;; true) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;; *) DRIVER_MAN_SUFFIX=4 ;;
esac esac
fi fi
if test x$DRIVER_MAN_DIR = x ; then if test x$DRIVER_MAN_DIR = x ; then
@ -10562,9 +10594,9 @@ if test x$DRIVER_MAN_DIR = x ; then
fi fi
if test x$ADMIN_MAN_SUFFIX = x ; then if test x$ADMIN_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) ADMIN_MAN_SUFFIX=1m ;; true) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;; *) ADMIN_MAN_SUFFIX=8 ;;
esac esac
fi fi
if test x$ADMIN_MAN_DIR = x ; then if test x$ADMIN_MAN_DIR = x ; then
@ -19234,7 +19266,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by xf86-video-mach64 $as_me 6.9.5, which was This file was extended by xf86-video-mach64 $as_me 6.9.6, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -19300,7 +19332,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
xf86-video-mach64 config.status 6.9.5 xf86-video-mach64 config.status 6.9.6
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View File

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

View File

@ -52,220 +52,13 @@
#include "xf86.h" #include "xf86.h"
#include "windowstr.h" #include "windowstr.h"
/* GLX/DRI/DRM definitions */ /* DRI/DRM definitions */
#define _XF86DRI_SERVER_ #define _XF86DRI_SERVER_
#include "GL/glxtokens.h"
#include "sarea.h" #include "sarea.h"
static char ATIKernelDriverName[] = "mach64"; static char ATIKernelDriverName[] = "mach64";
static char ATIClientDriverName[] = "mach64"; static char ATIClientDriverName[] = "mach64";
/* Initialize the visual configs that are supported by the hardware.
* These are combined with the visual configs that the indirect
* rendering core supports, and the intersection is exported to the
* client.
*/
static Bool ATIInitVisualConfigs( ScreenPtr pScreen )
{
ScrnInfoPtr pScreenInfo = xf86ScreenToScrn(pScreen);
ATIPtr pATI = ATIPTR(pScreenInfo);
int numConfigs = 0;
__GLXvisualConfig *pConfigs = NULL;
ATIConfigPrivPtr pATIConfigs = NULL;
ATIConfigPrivPtr *pATIConfigPtrs = NULL;
int i, accum, stencil, db;
switch ( pATI->bitsPerPixel ) {
case 8: /* 8bpp mode is not support */
case 15: /* FIXME */
case 24: /* FIXME */
xf86DrvMsg(pScreen->myNum, X_ERROR,
"[dri] ATIInitVisualConfigs failed (%d bpp not supported). "
"Disabling DRI.\n", pATI->bitsPerPixel);
return FALSE;
#define ATI_USE_ACCUM 1
#define ATI_USE_STENCIL 1
case 16:
if ( pATI->depth != 16) {
xf86DrvMsg(pScreen->myNum, X_ERROR,
"[dri] ATIInitVisualConfigs failed (depth %d at 16 bpp not supported). "
"Disabling DRI.\n", pATI->depth);
return FALSE;
}
numConfigs = 1;
if ( ATI_USE_ACCUM ) numConfigs *= 2;
if ( ATI_USE_STENCIL ) numConfigs *= 2;
numConfigs *= 2; /* single- and double-buffered */
pConfigs = (__GLXvisualConfig*)
xnfcalloc( sizeof(__GLXvisualConfig), numConfigs );
if ( !pConfigs ) {
return FALSE;
}
pATIConfigs = (ATIConfigPrivPtr)
xnfcalloc( sizeof(ATIConfigPrivRec), numConfigs );
if ( !pATIConfigs ) {
free( pConfigs );
return FALSE;
}
pATIConfigPtrs = (ATIConfigPrivPtr*)
xnfcalloc( sizeof(ATIConfigPrivPtr), numConfigs );
if ( !pATIConfigPtrs ) {
free( pConfigs );
free( pATIConfigs );
return FALSE;
}
i = 0;
for (db = 1; db >= 0; db--) {
for ( accum = 0 ; accum <= ATI_USE_ACCUM ; accum++ ) {
for ( stencil = 0 ; stencil <= ATI_USE_STENCIL ; stencil++ ) {
pATIConfigPtrs[i] = &pATIConfigs[i];
pConfigs[i].vid = -1;
pConfigs[i].class = -1;
pConfigs[i].rgba = TRUE;
pConfigs[i].redSize = 5;
pConfigs[i].greenSize = 6;
pConfigs[i].blueSize = 5;
pConfigs[i].alphaSize = 0;
pConfigs[i].redMask = 0x0000F800;
pConfigs[i].greenMask = 0x000007E0;
pConfigs[i].blueMask = 0x0000001F;
pConfigs[i].alphaMask = 0x00000000;
if ( accum ) { /* Simulated in software */
pConfigs[i].accumRedSize = 16;
pConfigs[i].accumGreenSize = 16;
pConfigs[i].accumBlueSize = 16;
pConfigs[i].accumAlphaSize = 0;
} else {
pConfigs[i].accumRedSize = 0;
pConfigs[i].accumGreenSize = 0;
pConfigs[i].accumBlueSize = 0;
pConfigs[i].accumAlphaSize = 0;
}
pConfigs[i].doubleBuffer = db ? TRUE : FALSE;
pConfigs[i].stereo = FALSE;
pConfigs[i].bufferSize = 16;
pConfigs[i].depthSize = 16;
if ( stencil ) { /* Simulated in software */
pConfigs[i].stencilSize = 8;
} else {
pConfigs[i].stencilSize = 0;
}
pConfigs[i].auxBuffers = 0;
pConfigs[i].level = 0;
if ( accum || stencil ) {
pConfigs[i].visualRating = GLX_SLOW_CONFIG;
} else {
pConfigs[i].visualRating = GLX_NONE;
}
pConfigs[i].transparentPixel = GLX_NONE;
pConfigs[i].transparentRed = 0;
pConfigs[i].transparentGreen = 0;
pConfigs[i].transparentBlue = 0;
pConfigs[i].transparentAlpha = 0;
pConfigs[i].transparentIndex = 0;
i++;
}
}
}
break;
case 32:
numConfigs = 1;
if ( ATI_USE_ACCUM ) numConfigs *= 2;
if ( ATI_USE_STENCIL ) numConfigs *= 2;
numConfigs *= 2; /* single- and double-buffered */
pConfigs = (__GLXvisualConfig*)
xnfcalloc( sizeof(__GLXvisualConfig), numConfigs );
if ( !pConfigs ) {
return FALSE;
}
pATIConfigs = (ATIConfigPrivPtr)
xnfcalloc( sizeof(ATIConfigPrivRec), numConfigs );
if ( !pATIConfigs ) {
free( pConfigs );
return FALSE;
}
pATIConfigPtrs = (ATIConfigPrivPtr*)
xnfcalloc( sizeof(ATIConfigPrivPtr), numConfigs );
if ( !pATIConfigPtrs ) {
free( pConfigs );
free( pATIConfigs );
return FALSE;
}
i = 0;
for (db = 1; db >= 0; db--) {
for ( accum = 0 ; accum <= ATI_USE_ACCUM ; accum++ ) {
for ( stencil = 0 ; stencil <= ATI_USE_STENCIL ; stencil++ ) {
pATIConfigPtrs[i] = &pATIConfigs[i];
pConfigs[i].vid = -1;
pConfigs[i].class = -1;
pConfigs[i].rgba = TRUE;
pConfigs[i].redSize = 8;
pConfigs[i].greenSize = 8;
pConfigs[i].blueSize = 8;
pConfigs[i].alphaSize = 0;
pConfigs[i].redMask = 0x00FF0000;
pConfigs[i].greenMask = 0x0000FF00;
pConfigs[i].blueMask = 0x000000FF;
pConfigs[i].alphaMask = 0x00000000;
if ( accum ) { /* Simulated in software */
pConfigs[i].accumRedSize = 16;
pConfigs[i].accumGreenSize = 16;
pConfigs[i].accumBlueSize = 16;
pConfigs[i].accumAlphaSize = 0;
} else {
pConfigs[i].accumRedSize = 0;
pConfigs[i].accumGreenSize = 0;
pConfigs[i].accumBlueSize = 0;
pConfigs[i].accumAlphaSize = 0;
}
pConfigs[i].doubleBuffer = db ? TRUE : FALSE;
pConfigs[i].stereo = FALSE;
pConfigs[i].bufferSize = 24;
if ( stencil ) { /* Simulated in software */
pConfigs[i].depthSize = 16;
pConfigs[i].stencilSize = 8;
} else {
pConfigs[i].depthSize = 16;
pConfigs[i].stencilSize = 0;
}
pConfigs[i].auxBuffers = 0;
pConfigs[i].level = 0;
if ( accum || stencil ) {
pConfigs[i].visualRating = GLX_SLOW_CONFIG;
} else {
pConfigs[i].visualRating = GLX_NONE;
}
pConfigs[i].transparentPixel = GLX_NONE;
pConfigs[i].transparentRed = 0;
pConfigs[i].transparentGreen = 0;
pConfigs[i].transparentBlue = 0;
pConfigs[i].transparentAlpha = 0;
pConfigs[i].transparentIndex = 0;
i++;
}
}
}
break;
}
pATI->numVisualConfigs = numConfigs;
pATI->pVisualConfigs = pConfigs;
pATI->pVisualConfigsPriv = pATIConfigs;
GlxSetVisualConfigs( numConfigs, pConfigs, (void**)pATIConfigPtrs );
return TRUE;
}
/* Create the ATI-specific context information */ /* Create the ATI-specific context information */
static Bool ATICreateContext( ScreenPtr pScreen, VisualPtr visual, static Bool ATICreateContext( ScreenPtr pScreen, VisualPtr visual,
drm_context_t hwContext, void *pVisualConfigPriv, drm_context_t hwContext, void *pVisualConfigPriv,
@ -1181,10 +974,9 @@ Bool ATIDRIScreenInit( ScreenPtr pScreen )
drmVersionPtr version; drmVersionPtr version;
int major, minor, patch; int major, minor, patch;
/* Check that the GLX, DRI, and DRM modules have been loaded by testing /* Check that the DRI, and DRM modules have been loaded by testing
* for known symbols in each module. * for known symbols in each module.
*/ */
if ( !xf86LoaderCheckSymbol("GlxSetVisualConfigs") ) return FALSE;
if ( !xf86LoaderCheckSymbol("drmAvailable") ) return FALSE; if ( !xf86LoaderCheckSymbol("drmAvailable") ) return FALSE;
if ( !xf86LoaderCheckSymbol("DRIQueryVersion") ) { if ( !xf86LoaderCheckSymbol("DRIQueryVersion") ) {
xf86DrvMsg( pScreen->myNum, X_ERROR, xf86DrvMsg( pScreen->myNum, X_ERROR,
@ -1426,10 +1218,6 @@ Bool ATIDRIScreenInit( ScreenPtr pScreen )
return FALSE; return FALSE;
} }
if ( !ATIInitVisualConfigs( pScreen ) ) {
ATIDRICloseScreen( pScreen );
return FALSE;
}
xf86DrvMsg( pScreenInfo->scrnIndex, X_INFO, xf86DrvMsg( pScreenInfo->scrnIndex, X_INFO,
"[dri] Visual configs initialized\n" ); "[dri] Visual configs initialized\n" );
@ -1629,12 +1417,4 @@ void ATIDRICloseScreen( ScreenPtr pScreen )
free( pATI->pDRIServerInfo ); free( pATI->pDRIServerInfo );
pATI->pDRIServerInfo = NULL; pATI->pDRIServerInfo = NULL;
} }
if ( pATI->pVisualConfigs ) {
free( pATI->pVisualConfigs );
pATI->pVisualConfigs = NULL;
}
if ( pATI->pVisualConfigsPriv ) {
free( pATI->pVisualConfigsPriv );
pATI->pVisualConfigsPriv = NULL;
}
} }

View File

@ -37,21 +37,11 @@
#ifndef __ATIDRIPRIV_H__ #ifndef __ATIDRIPRIV_H__
#define __ATIDRIPRIV_H__ 1 #define __ATIDRIPRIV_H__ 1
#include "GL/glxint.h"
#include "GL/glxtokens.h"
#define ATI_MAX_DRAWABLES 256 #define ATI_MAX_DRAWABLES 256
typedef struct {
/* Nothing here yet */
int dummy;
} ATIConfigPrivRec, *ATIConfigPrivPtr;
typedef struct { typedef struct {
/* Nothing here yet */ /* Nothing here yet */
int dummy; int dummy;
} ATIDRIContextRec, *ATIDRIContextPtr; } ATIDRIContextRec, *ATIDRIContextPtr;
extern void GlxSetVisualConfigs(int, __GLXvisualConfig *, void **);
#endif /* __ATIDRIPRIV_H__ */ #endif /* __ATIDRIPRIV_H__ */

View File

@ -2256,8 +2256,6 @@ ATIPreInit
pitchInc = minPitch * pATI->bitsPerPixel; pitchInc = minPitch * pATI->bitsPerPixel;
pScreenInfo->maxHValue = (MaxBits(CRTC_H_TOTAL) + 1) << 3;
if (pATI->Chip < ATI_CHIP_264VT) if (pATI->Chip < ATI_CHIP_264VT)
{ {
/* /*
@ -2268,12 +2266,8 @@ ATIPreInit
*/ */
ATIClockRange.doubleScanAllowed = FALSE; ATIClockRange.doubleScanAllowed = FALSE;
/* CRTC_H_TOTAL is one bit narrower */
pScreenInfo->maxHValue >>= 1;
} }
pScreenInfo->maxVValue = MaxBits(CRTC_V_TOTAL) + 1;
maxPitch = minPitch * MaxBits(CRTC_PITCH); maxPitch = minPitch * MaxBits(CRTC_PITCH);
if (pATI->OptionAccel) if (pATI->OptionAccel)

View File

@ -395,8 +395,7 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL)
#ifdef XF86DRI_DEVEL #ifdef XF86DRI_DEVEL
/* Setup DRI after visuals have been established, but before /* Setup DRI after visuals have been established, but before
* fbScreenInit is called. fbScreenInit will eventually call the * fbScreenInit is called.
* driver's InitGLXVisuals call back.
*/ */
/* According to atiregs.h, GTPro (3D Rage Pro) is the first chip type with /* According to atiregs.h, GTPro (3D Rage Pro) is the first chip type with

View File

@ -497,9 +497,6 @@ typedef struct _ATIRec
DRIInfoPtr pDRIInfo; DRIInfoPtr pDRIInfo;
int drmFD; int drmFD;
int irq; int irq;
int numVisualConfigs;
__GLXvisualConfig *pVisualConfigs;
ATIConfigPrivPtr pVisualConfigsPriv;
ATIDRIServerInfoPtr pDRIServerInfo; ATIDRIServerInfoPtr pDRIServerInfo;
Bool NeedDRISync; Bool NeedDRISync;
Bool have3DWindows; Bool have3DWindows;

View File

@ -53,6 +53,23 @@ ATIValidMode
return MODE_OK; return MODE_OK;
} }
{
int maxHValue, maxVValue;
maxHValue = (MaxBits(CRTC_H_TOTAL) + 1) << 3;
if (pATI->Chip < ATI_CHIP_264VT)
{
/* CRTC_H_TOTAL is one bit narrower */
maxHValue >>= 1;
}
if (pMode->HTotal > maxHValue)
return MODE_BAD_HVALUE;
maxVValue = MaxBits(CRTC_V_TOTAL) + 1;
if (pMode->VTotal > maxVValue)
return MODE_BAD_VVALUE;
}
/* /*
* The following is done for every mode in the monitor section that * The following is done for every mode in the monitor section that
* survives the common layer's basic checks. * survives the common layer's basic checks.