Hello community,
here is the log from the commit of package xorg-x11-driver-video
checked in at Fri Sep 5 21:08:36 CEST 2008.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2008-08-15 15:29:28.000000000 +0200
+++ xorg-x11-driver-video/xorg-x11-driver-video.changes 2008-09-04 21:45:11.343015894 +0200
@@ -1,0 +2,83 @@
+Thu Sep 4 21:39:39 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-i128 1.3.1
+ * Don't store pScrn->monitor->DDC manually, let
+ xf86SetDDCproperties do it.
+ * Compile warning fixes.
+ * Replace calls to xf86usleep with calls to usleep and include
+ unistd.h.
+
+-------------------------------------------------------------------
+Thu Sep 4 03:43:51 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-vmware 10.16.5
+ * Video Overlay: Handle clipping correctly with AutoPaint colorkey.
+ * Add RegionEqual function for older XFree86 versions
+
+-------------------------------------------------------------------
+Thu Sep 4 01:49:51 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-tga 1.2.0
+ * pciaccess conversion
+- reenabled build of xf86-video-tga driver
+
+-------------------------------------------------------------------
+Wed Sep 3 15:37:29 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-intel-fca7a4e.diff
+ * Pipe A force quirk for Toshiba Satellite A30 (bnc #417587)
+
+-------------------------------------------------------------------
+Thu Aug 28 21:33:56 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-nv 2.1.12
+ * G80: Fix a CPUToScreenColorExpandFill bug introduced by commit
+ 2e0416c.
+
+-------------------------------------------------------------------
+Wed Aug 27 10:53:11 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-nv 2.1.11
+ * One more missing GPU name ("GeForce 9500 GT")
+- obsoletes xf86-video-nv.diff
+
+-------------------------------------------------------------------
+Tue Aug 26 11:43:59 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-nv.diff
+ * More chips names.
+ * Bug #15309: Set the pixel clock even if the hardware doesn't
+ think it needs it. Fixes a problem where switching from DVI to
+ VGA hangs.
+ * Fix warnings.
+ * G80: Log the i2c port number for LVDS, when there is one.
+- sax2/hwinfo-data:
+ * new NVIDIA chips
+
+-------------------------------------------------------------------
+Tue Aug 26 11:27:32 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-intel 2.4.97.0
+ "[...] first 2.5.0 test release. Should be about as stable
+ as the 2.4.1 and upcoming 2.4.2 releases, but also includes GEM
+ and kernel mode setting code. We haven't pushed the video
+ tearing fixes yet, hopefully that'll be upstream for the next
+ test release. Carl has made good progress on improving EXA
+ performance, but I think the scrolling case may still be
+ sub-par, but we're interested in getting feedback there. [...]"
+
+-------------------------------------------------------------------
+Fri Aug 22 22:57:16 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-nv.diff
+ * Print error message when pci_device_map_range fails
+ * Fix pciaccess READ_LONG to work with Sun compilers. Sun
+ compilers don't allow nesting {} inside () apparently
+
+-------------------------------------------------------------------
+Sun Aug 17 16:18:24 CEST 2008 - sndirsch@suse.de
+
+- xf86-video-intel-nottm.diff
+ * fixed build for libdrm 2.4.0 prerelease
+
+-------------------------------------------------------------------
Old:
----
xf86-video-i128-1.3.0.tar.bz2
xf86-video-intel-2.4.1.tar.bz2
xf86-video-nv-2.1.10.tar.bz2
xf86-video-nv.diff
xf86-video-tga-X11R7.1-1.1.0.tar.bz2
xf86-video-vmware-10.16.3.tar.bz2
New:
----
xf86-video-i128-1.3.1.tar.bz2
xf86-video-intel-2.4.97.0.tar.bz2
xf86-video-intel-fca7a4e.diff
xf86-video-intel-nottm.diff
xf86-video-nv-2.1.12.tar.bz2
xf86-video-tga-1.2.0.tar.bz2
xf86-video-vmware-10.16.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.y25555/_old 2008-09-05 21:05:24.000000000 +0200
+++ /var/tmp/diff_new_pack.y25555/_new 2008-09-05 21:05:24.000000000 +0200
@@ -22,7 +22,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk
Url: http://xorg.freedesktop.org/
Version: 7.3
-Release: 173
+Release: 178
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -39,7 +39,7 @@
Source7: xf86-video-dummy-0.3.0.tar.bz2
Source8: xf86-video-fbdev-0.4.0.tar.bz2
Source9: xf86-video-glint-1.2.1.tar.bz2
-Source10: xf86-video-i128-1.3.0.tar.bz2
+Source10: xf86-video-i128-1.3.1.tar.bz2
Source11: xf86-video-i740-1.2.0.tar.bz2
Source12: xf86-video-i810-1.7.4.tar.bz2
Source13: xf86-video-imstt-X11R7.1-1.1.0.tar.bz2
@@ -47,7 +47,7 @@
Source15: xf86-video-neomagic-1.2.1.tar.bz2
Source16: xf86-video-newport-0.2.1.tar.bz2
Source17: xf86-video-nsc-2.8.3.tar.bz2
-Source18: xf86-video-nv-2.1.10.tar.bz2
+Source18: xf86-video-nv-2.1.12.tar.bz2
Source19: xf86-video-rendition-4.2.0.tar.bz2
Source20: xf86-video-s3-0.6.0.tar.bz2
Source21: xf86-video-s3virge-1.10.1.tar.bz2
@@ -56,18 +56,18 @@
Source24: xf86-video-sis-0.10.0.tar.bz2
Source25: xf86-video-sisusb-0.9.0.tar.bz2
Source33: xf86-video-tdfx-1.4.0.tar.bz2
-Source34: xf86-video-tga-X11R7.1-1.1.0.tar.bz2
+Source34: xf86-video-tga-1.2.0.tar.bz2
Source35: xf86-video-trident-1.3.0.tar.bz2
Source36: xf86-video-tseng-1.2.0.tar.bz2
Source37: xf86-video-v4l-0.2.0.tar.bz2
Source38: xf86-video-vesa-2.0.0.tar.bz2
Source39: xf86-video-vga-X11R7.1-4.1.0.tar.bz2
Source40: xf86-video-via-0.2.2.tar.bz2
-Source41: xf86-video-vmware-10.16.3.tar.bz2
+Source41: xf86-video-vmware-10.16.5.tar.bz2
Source42: xf86-video-voodoo-1.2.0.tar.bz2
Source43: xf86-video-impact-0.2.0.tar.bz2
Source44: HALlib-4.1.tar.gz
-Source45: xf86-video-intel-2.4.1.tar.bz2
+Source45: xf86-video-intel-2.4.97.0.tar.bz2
Source46: xf86-video-ati-6.9.0.tar.bz2
Source48: xf86-video-mga-1.9.100.tar.bz2
Source50: xf86-video-xgi-1.5.0.tar.bz2
@@ -78,8 +78,10 @@
Source55: xf86-video-r128-6.8.0.tar.bz2
Source100: sax2-hwinfo-data.tar.gz
Patch: xf86-video-intel.diff
+Patch1: xf86-video-intel-nottm.diff
+Patch2: xf86-video-intel-fca7a4e.diff
Patch3: ps_nv.diff
-Patch4: xf86-video-nv.diff
+#Patch4: xf86-video-nv.diff
Patch10: xf86-video-tdfx.diff
Patch12: xf86-video-mga-hal.diff
Patch14: xf86-video-rendition.diff
@@ -140,10 +142,12 @@
popd
pushd xf86-video-intel-*
#%patch -p0
+%patch1
+%patch2 -p1
popd
pushd xf86-video-nv-*
%patch3 -p0
-%patch4 -p1
+#%patch4 -p1
popd
pushd xf86-video-mga-1.4.9/src
tar xzf %{SOURCE44}
@@ -181,7 +185,6 @@
-e xf86-video-cyrix \
-e xf86-video-i810 \
-e xf86-video-imstt \
- -e xf86-video-tga \
-e xf86-video-via \
-e xf86-video-xgixp \
); do
@@ -213,7 +216,6 @@
-e xf86-video-cyrix \
-e xf86-video-i810 \
-e xf86-video-imstt \
- -e xf86-video-tga \
-e xf86-video-via \
-e xf86-video-xgixp \
); do
@@ -272,6 +274,59 @@
/var/lib/hardware/ids/20.%{name}
%changelog
+* Thu Sep 04 2008 sndirsch@suse.de
+- xf86-video-i128 1.3.1
+ * Don't store pScrn->monitor->DDC manually, let
+ xf86SetDDCproperties do it.
+ * Compile warning fixes.
+ * Replace calls to xf86usleep with calls to usleep and include
+ unistd.h.
+* Thu Sep 04 2008 sndirsch@suse.de
+- xf86-video-vmware 10.16.5
+ * Video Overlay: Handle clipping correctly with AutoPaint colorkey.
+ * Add RegionEqual function for older XFree86 versions
+* Thu Sep 04 2008 sndirsch@suse.de
+- xf86-video-tga 1.2.0
+ * pciaccess conversion
+- reenabled build of xf86-video-tga driver
+* Wed Sep 03 2008 sndirsch@suse.de
+- xf86-video-intel-fca7a4e.diff
+ * Pipe A force quirk for Toshiba Satellite A30 (bnc #417587)
+* Thu Aug 28 2008 sndirsch@suse.de
+- xf86-video-nv 2.1.12
+ * G80: Fix a CPUToScreenColorExpandFill bug introduced by commit
+ 2e0416c.
+* Wed Aug 27 2008 sndirsch@suse.de
+- xf86-video-nv 2.1.11
+ * One more missing GPU name ("GeForce 9500 GT")
+- obsoletes xf86-video-nv.diff
+* Tue Aug 26 2008 sndirsch@suse.de
+- xf86-video-nv.diff
+ * More chips names.
+ * Bug #15309: Set the pixel clock even if the hardware doesn't
+ think it needs it. Fixes a problem where switching from DVI to
+ VGA hangs.
+ * Fix warnings.
+ * G80: Log the i2c port number for LVDS, when there is one.
+- sax2/hwinfo-data:
+ * new NVIDIA chips
+* Tue Aug 26 2008 sndirsch@suse.de
+- xf86-video-intel 2.4.97.0
+ "[...] first 2.5.0 test release. Should be about as stable
+ as the 2.4.1 and upcoming 2.4.2 releases, but also includes GEM
+ and kernel mode setting code. We haven't pushed the video
+ tearing fixes yet, hopefully that'll be upstream for the next
+ test release. Carl has made good progress on improving EXA
+ performance, but I think the scrolling case may still be
+ sub-par, but we're interested in getting feedback there. [...]"
+* Sat Aug 23 2008 sndirsch@suse.de
+- xf86-video-nv.diff
+ * Print error message when pci_device_map_range fails
+ * Fix pciaccess READ_LONG to work with Sun compilers. Sun
+ compilers don't allow nesting {} inside () apparently
+* Sun Aug 17 2008 sndirsch@suse.de
+- xf86-video-intel-nottm.diff
+ * fixed build for libdrm 2.4.0 prerelease
* Fri Aug 15 2008 sndirsch@suse.de
- xf86-video-geode 2.10.1
* lx: Fix rotate issue
++++++ sax2-hwinfo-data.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/usr/share/sax/api/data/cdb/Cards.20.xorg-x11-driver-video new/usr/share/sax/api/data/cdb/Cards.20.xorg-x11-driver-video
--- old/usr/share/sax/api/data/cdb/Cards.20.xorg-x11-driver-video 2008-08-04 16:39:48.000000000 +0200
+++ new/usr/share/sax/api/data/cdb/Cards.20.xorg-x11-driver-video 2008-08-27 10:49:56.000000000 +0200
@@ -1,3 +1,39 @@
+NVidia: GeForce 9500 GT {
+ Driver = nv
+}
+NVidia: GeForce 8600 GS {
+ Driver = nv
+}
+NVidia: GeForce 9400 GT {
+ Driver = nv
+}
+NVidia: GeForce 9800 GTK+ {
+ Driver = nv
+}
+NVidia: GeForce 9800 GT {
+ Driver = nv
+}
+NVidia: GeForce 9600 GS {
+ Driver = nv
+}
+NVidia: GeForce 9800M GTS {
+ Driver = nv
+}
+NVidia: GeForce 9700M GTS {
+ Driver = nv
+}
+NVidia: GeForce 9800M GTS {
+ Driver = nv
+}
+NVidia: GeForce 9300 GS {
+ Driver = nv
+}
+NVidia: Quadro NVS 150M {
+ Driver = nv
+}
+NVidia: Quadro NVS 160M {
+ Driver = nv
+}
NVidia: GeForce GTX 280 {
Driver = nv
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/usr/share/sax/sysp/maps/update/Identity.map.20.xorg-x11-driver-video new/usr/share/sax/sysp/maps/update/Identity.map.20.xorg-x11-driver-video
--- old/usr/share/sax/sysp/maps/update/Identity.map.20.xorg-x11-driver-video 2008-08-04 16:41:09.000000000 +0200
+++ new/usr/share/sax/sysp/maps/update/Identity.map.20.xorg-x11-driver-video 2008-08-27 10:50:53.000000000 +0200
@@ -1,3 +1,15 @@
+NAME=NVidia&DEVICE=GeForce 9500 GT&VID=0x10de&DID=0x0640&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 8600 GS&VID=0x10de&DID=0x0403&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9400 GT&VID=0x10de&DID=0x042C&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9800 GTK+&VID=0x10de&DID=0x0613&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9800 GT&VID=0x10de&DID=0x0614&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9600 GS&VID=0x10de&DID=0x0623&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9800M GTS&VID=0x10de&DID=0x0628&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9700M GTS&VID=0x10de&DID=0x062A&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9800M GTS&VID=0x10de&DID=0x062C&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=GeForce 9300 GS&VID=0x10de&DID=0x06E1&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=Quadro NVS 150M&VID=0x10de&DID=0x06EA&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
+NAME=NVidia&DEVICE=Quadro NVS 160M&VID=0x10de&DID=0x06EB&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
NAME=NVidia&DEVICE=GeForce GTX 280&VID=0x10de&DID=0x05E1&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
NAME=NVidia&DEVICE=GeForce GTX 260&VID=0x10de&DID=0x05E2&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
NAME=NVidia&DEVICE=GeForce 9650M GS&VID=0x10de&DID=0x0408&SERVER=nv&EXT=&OPT=&RAW=&PROFILE=&SCRIPT3D=&PACKAGE3D=&FLAG=DEFAULT
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/var/lib/hardware/ids/20.xorg-x11-driver-video new/var/lib/hardware/ids/20.xorg-x11-driver-video
--- old/var/lib/hardware/ids/20.xorg-x11-driver-video 2008-07-23 18:13:23.000000000 +0200
+++ new/var/lib/hardware/ids/20.xorg-x11-driver-video 2008-08-27 10:51:22.000000000 +0200
@@ -1,4 +1,64 @@
vendor.id pci 0x10de
+&device.id pci 0x0640
++device.name GeForce 9500 GT
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x0403
++device.name GeForce 8600 GS
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x042C
++device.name GeForce 9400 GT
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x0613
++device.name GeForce 9800 GTK+
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x0614
++device.name GeForce 9800 GT
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x0623
++device.name GeForce 9600 GS
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x0628
++device.name GeForce 9800M GTS
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x062A
++device.name GeForce 9700M GTS
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x062C
++device.name GeForce 9800M GTS
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x06E1
++device.name GeForce 9300 GS
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x06EA
++device.name Quadro NVS 150M
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
+&device.id pci 0x06EB
++device.name Quadro NVS 160M
++driver.xfree 4|nv
+
+ vendor.id pci 0x10de
&device.id pci 0x05e1
+device.name GeForce GTX 280
+driver.xfree 4|nv
++++++ xf86-video-i128-1.3.0.tar.bz2 -> xf86-video-i128-1.3.1.tar.bz2 ++++++
++++ 3899 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-i128-1.3.0/configure.ac new/xf86-video-i128-1.3.1/configure.ac
--- old/xf86-video-i128-1.3.0/configure.ac 2008-03-19 19:13:29.000000000 +0100
+++ new/xf86-video-i128-1.3.1/configure.ac 2008-09-04 19:51:53.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-i128],
- 1.3.0,
+ 1.3.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-i128)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-i128-1.3.0/src/i128accel.c new/xf86-video-i128-1.3.1/src/i128accel.c
--- old/xf86-video-i128-1.3.0/src/i128accel.c 2008-03-19 19:12:45.000000000 +0100
+++ new/xf86-video-i128-1.3.1/src/i128accel.c 2008-09-04 19:51:28.000000000 +0200
@@ -56,9 +56,11 @@
int x2, int y2);
static void I128FillSolidRects(ScrnInfoPtr pScrn, int fg, int rop,
unsigned int planemask, int nBox, register BoxPtr pBoxI);
+#if 0
static void I128ScreenToScreenBitBlt(ScrnInfoPtr pScrn, int nbox,
DDXPointPtr pptSrc, BoxPtr pbox, int xdir, int ydir, int alu,
unsigned planemask);
+#endif
#define ENG_PIPELINE_READY() { while (pI128->mem.rbase_a[BUSY] & BUSY_BUSY) ; }
#define ENG_DONE() { while (pI128->mem.rbase_a[FLOW] & (FLOW_DEB | FLOW_MCB | FLOW_PRV)) ;}
@@ -396,7 +398,7 @@
}
-
+#if 0
static void
I128ScreenToScreenBitBlt(ScrnInfoPtr pScrn, int nbox, DDXPointPtr pptSrc,
BoxPtr pbox, int xdir, int ydir, int alu, unsigned planemask)
@@ -408,7 +410,7 @@
pbox->x1, pbox->y1, pbox->x2 - pbox->x1, pbox->y2 - pbox->y1);
ENG_DONE();
}
-
+#endif
Bool
I128XaaInit(ScreenPtr pScreen)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-i128-1.3.0/src/i128_driver.c new/xf86-video-i128-1.3.1/src/i128_driver.c
--- old/xf86-video-i128-1.3.0/src/i128_driver.c 2008-03-19 19:12:45.000000000 +0100
+++ new/xf86-video-i128-1.3.1/src/i128_driver.c 2008-09-04 19:51:28.000000000 +0200
@@ -66,6 +66,8 @@
#include "i128.h"
#include "i128reg.h"
+#include
+
/*
* Forward definitions for the functions that make up the driver.
*/
@@ -797,7 +799,7 @@
{
unsigned short temp;
pci_device_cfg_read_u16(pI128->PciInfo, &temp, 0x4);
- if ((temp & 0x03 == 0x03) && (PCI_SUB_DEVICE_ID(pI128->PciInfo) == 0x08))
+ if (((temp & 0x03) == 0x03) && (PCI_SUB_DEVICE_ID(pI128->PciInfo) == 0x08))
pI128->MemoryType = I128_MEMORY_DRAM;
}
#endif
@@ -896,7 +898,6 @@
/* Read and print the Monitor DDC info */
mon = I128getDDC(pScrn);
- pScrn->monitor->DDC = mon;
/* see if we can find a flatpanel */
if (!pI128->FlatPanel && mon) {
@@ -1901,7 +1902,7 @@
ddc = inl(iobase + 0x2C);
if ((ddc & DDC_MODE_MASK) != DDC_MODE_DDC1) {
outl(iobase + 0x2C, DDC_MODE_DDC1);
- xf86usleep(40);
+ usleep(40);
}
/* wait for Vsync */
@@ -1918,7 +1919,7 @@
if ((ddc & DDC_MODE_MASK) != DDC_MODE_DDC1) {
outl(iobase + 0x2C, ~DDC_MODE_MASK & ddc);
- xf86usleep(40);
+ usleep(40);
}
return val;
@@ -2003,14 +2004,14 @@
soft_sw &= 0xfffffffc;
soft_sw |= 0x00000001;
outl(iobase + 0x28, soft_sw);
- xf86usleep(1000);
+ usleep(1000);
/* set default as ddc2 mode */
ddc = inl(iobase + 0x2C);
ddc &= ~DDC_MODE_MASK;
ddc |= DDC_MODE_DDC2;
outl(iobase + 0x2C, ddc);
- xf86usleep(40);
+ usleep(40);
if (!xf86I2CBusInit(I2CPtr)) {
return FALSE;
@@ -2105,38 +2106,38 @@
" PCI Registers\n");
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" MW0_AD 0x%08lx addr 0x%08lx %spre-fetchable\n",
- PCI_REGION_BASE(pI128->PciInfo, 0, REGION_MEM),
- PCI_REGION_BASE(pI128->PciInfo, 0, REGION_MEM) & 0xFFC00000,
+ (unsigned long)PCI_REGION_BASE(pI128->PciInfo, 0, REGION_MEM),
+ (unsigned long)(PCI_REGION_BASE(pI128->PciInfo, 0, REGION_MEM) & 0xFFC00000),
PCI_REGION_BASE(pI128->PciInfo, 0, REGION_MEM) & 0x8 ? "" : "not-");
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" MW1_AD 0x%08lx addr 0x%08lx %spre-fetchable\n",
- PCI_REGION_BASE(pI128->PciInfo, 1, REGION_MEM),
- PCI_REGION_BASE(pI128->PciInfo, 1, REGION_MEM) & 0xFFC00000,
+ (unsigned long)PCI_REGION_BASE(pI128->PciInfo, 1, REGION_MEM),
+ (unsigned long)(PCI_REGION_BASE(pI128->PciInfo, 1, REGION_MEM) & 0xFFC00000),
PCI_REGION_BASE(pI128->PciInfo, 1, REGION_MEM) & 0x8 ? "" : "not-");
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" XYW_AD(A) 0x%08lx addr 0x%08lx\n",
- PCI_REGION_BASE(pI128->PciInfo, 2, REGION_MEM),
- PCI_REGION_BASE(pI128->PciInfo, 2, REGION_MEM) & 0xFFC00000);
+ (unsigned long)PCI_REGION_BASE(pI128->PciInfo, 2, REGION_MEM),
+ (unsigned long)(PCI_REGION_BASE(pI128->PciInfo, 2, REGION_MEM) & 0xFFC00000));
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" XYW_AD(B) 0x%08lx addr 0x%08lx\n",
- PCI_REGION_BASE(pI128->PciInfo, 3, REGION_MEM),
- PCI_REGION_BASE(pI128->PciInfo, 3, REGION_MEM) & 0xFFC00000);
+ (unsigned long)PCI_REGION_BASE(pI128->PciInfo, 3, REGION_MEM),
+ (unsigned long)(PCI_REGION_BASE(pI128->PciInfo, 3, REGION_MEM) & 0xFFC00000));
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" RBASE_G 0x%08lx addr 0x%08lx\n",
- PCI_REGION_BASE(pI128->PciInfo, 4, REGION_MEM),
- PCI_REGION_BASE(pI128->PciInfo, 4, REGION_MEM) & 0xFFFF0000);
+ (unsigned long)PCI_REGION_BASE(pI128->PciInfo, 4, REGION_MEM),
+ (unsigned long)(PCI_REGION_BASE(pI128->PciInfo, 4, REGION_MEM) & 0xFFFF0000));
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" IO 0x%08lx addr 0x%08lx\n",
- PCI_REGION_BASE(pI128->PciInfo, 5, REGION_IO),
- PCI_REGION_BASE(pI128->PciInfo, 5, REGION_IO) & 0xFFFFFF00);
+ (unsigned long)PCI_REGION_BASE(pI128->PciInfo, 5, REGION_IO),
+ (unsigned long)(PCI_REGION_BASE(pI128->PciInfo, 5, REGION_IO) & 0xFFFFFF00));
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" SSC 0x%08x addr 0x%08x\n",
- PCI_SUB_DEVICE_ID(pI128->PciInfo),
- PCI_SUB_DEVICE_ID(pI128->PciInfo) & 0xFFFFFF00);
+ (unsigned int)PCI_SUB_DEVICE_ID(pI128->PciInfo),
+ (unsigned int)(PCI_SUB_DEVICE_ID(pI128->PciInfo) & 0xFFFFFF00));
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" SSV 0x%08x addr 0x%08x\n",
- PCI_SUB_VENDOR_ID(pI128->PciInfo),
- PCI_SUB_VENDOR_ID(pI128->PciInfo) & 0xFFFFFF00);
+ (unsigned int)PCI_SUB_VENDOR_ID(pI128->PciInfo),
+ (unsigned int)(PCI_SUB_VENDOR_ID(pI128->PciInfo) & 0xFFFFFF00));
#ifndef XSERVER_LIBPCIACCESS
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
" RBASE_E 0x%08lx addr 0x%08lx %sdecode-enabled\n\n",
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-i128-1.3.0/src/i128exa.c new/xf86-video-i128-1.3.1/src/i128exa.c
--- old/xf86-video-i128-1.3.0/src/i128exa.c 2008-03-19 15:29:39.000000000 +0100
+++ new/xf86-video-i128-1.3.1/src/i128exa.c 2008-09-04 19:51:28.000000000 +0200
@@ -452,11 +452,13 @@
{ 0, 0 }
};
+#if 0
static struct dest_format *
i128MapDestFormat(int fmt)
{
return NULL;
}
+#endif
/* Composite is probably t2r and t2r4 only */
static Bool
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-i128-1.3.0/src/i128IBMDAC.c new/xf86-video-i128-1.3.1/src/i128IBMDAC.c
--- old/xf86-video-i128-1.3.0/src/i128IBMDAC.c 2008-03-19 19:12:45.000000000 +0100
+++ new/xf86-video-i128-1.3.1/src/i128IBMDAC.c 2008-09-04 19:51:28.000000000 +0200
@@ -36,6 +36,7 @@
#include "i128reg.h"
#include "IBMRGB.h"
+#include
static void I128IBMShowCursor(ScrnInfoPtr pScrn);
static void I128IBMHideCursor(ScrnInfoPtr pScrn);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-i128-1.3.0/src/i128init.c new/xf86-video-i128-1.3.1/src/i128init.c
--- old/xf86-video-i128-1.3.0/src/i128init.c 2008-03-19 19:12:45.000000000 +0100
+++ new/xf86-video-i128-1.3.1/src/i128init.c 2008-09-04 19:51:28.000000000 +0200
@@ -37,6 +37,8 @@
#include "Ti302X.h"
#include "IBMRGB.h"
+#include
+
static void I128SavePalette(I128Ptr pI128);
static void I128RestorePalette(I128Ptr pI128);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-i128-1.3.0/src/i128pcirename.h new/xf86-video-i128-1.3.1/src/i128pcirename.h
--- old/xf86-video-i128-1.3.0/src/i128pcirename.h 2008-03-19 15:29:39.000000000 +0100
+++ new/xf86-video-i128-1.3.1/src/i128pcirename.h 2008-09-04 19:51:28.000000000 +0200
@@ -26,8 +26,8 @@
* library. The main purpose being to facilitate source code compatibility.
*/
-#ifndef CIRPCIRENAME_H
-#define CIRPCIRENAME_H
+#ifndef I128PCIRENAME_H
+#define I128PCIRENAME_H
enum region_type {
REGION_MEM,
@@ -119,4 +119,4 @@
#endif /* XSERVER_LIBPCIACCESS */
-#endif /* CIRPCIRENAME_H */
+#endif /* I128PCIRENAME_H */
++++++ xf86-video-intel-2.4.1.tar.bz2 -> xf86-video-intel-2.4.97.0.tar.bz2 ++++++
++++ 17587 lines of diff (skipped)
++++++ xf86-video-intel-fca7a4e.diff ++++++
commit fca7a4e9a5c73e1c129e94eeccf8fc795f729931
Author: Stefan Dirsch
Date: Wed Sep 3 15:32:11 2008 +0200
Pipe A force quirk for Toshiba Satellite A30.
diff --git a/src/i830_quirks.c b/src/i830_quirks.c
index 038676e..089e458 100644
--- a/src/i830_quirks.c
+++ b/src/i830_quirks.c
@@ -293,6 +293,8 @@ static i830_quirk i830_quirk_list[] = {
{ PCI_CHIP_I855_GM, 0x1028, 0x014f, quirk_pipea_force },
/* Dell Inspiron 510m needs pipe A force quirk */
{ PCI_CHIP_I855_GM, 0x1028, 0x0164, quirk_pipea_force },
+ /* Toshiba Satellite A30 needs pipe A force quirk */
+ { PCI_CHIP_I855_GM, 0x1179, 0xff00 , quirk_pipea_force },
/* Toshiba Protege R-205, S-209 needs pipe A force quirk */
{ PCI_CHIP_I915_GM, 0x1179, 0x0001, quirk_pipea_force },
/* Intel 855GM hardware (See LP: #216490) */
++++++ xf86-video-intel-nottm.diff ++++++
--- configure.ac.orig 2008-08-17 16:14:52.206912723 +0200
+++ configure.ac 2008-08-17 16:15:32.468683665 +0200
@@ -201,10 +201,6 @@
PKG_CHECK_MODULES(DRI, [libdrm xf86driproto glproto])
AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
- PKG_CHECK_MODULES(DRI_MM, [libdrm >= 2.4.0],[DRI_MM=yes], [DRI_MM=no])
- if test "x$DRI_MM" = xyes; then
- AC_DEFINE(XF86DRI_MM,1,[Extended DRI memory management])
- fi
if test "$have_damage_h" = yes; then
AC_DEFINE(DAMAGE,1,[Use Damage extension])
fi
++++++ xf86-video-nv-2.1.10.tar.bz2 -> xf86-video-nv-2.1.12.tar.bz2 ++++++
++++ 1766 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/ChangeLog new/xf86-video-nv-2.1.12/ChangeLog
--- old/xf86-video-nv-2.1.10/ChangeLog 2008-07-01 01:28:15.000000000 +0200
+++ new/xf86-video-nv-2.1.12/ChangeLog 2008-08-28 20:20:54.000000000 +0200
@@ -1,3 +1,83 @@
+commit 27e2a98531e8b190a73d126508400283e0fb02df
+Author: Aaron Plattner
+Date: Thu Aug 28 11:19:04 2008 -0700
+
+ Bump to 2.1.12.
+
+commit 75bcdc7ab1f3a4b715aad96e9739bedf4bc33321
+Author: Aaron Plattner
+Date: Thu Aug 28 11:18:29 2008 -0700
+
+ G80: Fix a CPUToScreenColorExpandFill bug introduced by commit 2e0416c.
+
+commit c3aa93fa478d78f8d57c5dbfc871eec84f7f7bd2
+Author: Aaron Plattner
+Date: Tue Aug 26 22:27:46 2008 -0700
+
+ Bump to 2.1.11.
+
+commit 36af14dfdb1feb4d5d47b1542803f1d292585fdf
+Author: Aaron Plattner
+Date: Tue Aug 26 13:47:04 2008 -0700
+
+ One more missing GPU name.
+
+commit 02001d2298dc61dcd904bc149a64147b2dadba9f
+Author: Aaron Plattner
+Date: Mon Aug 25 10:31:01 2008 -0700
+
+ More chips names.
+
+commit 7884f5918715a8df35cd0d7601cb50c7c5b56e70
+Author: Aaron Plattner
+Date: Sun Aug 24 00:23:54 2008 -0700
+
+ Bug #15309: Set the pixel clock even if the hardware doesn't think it needs it.
+
+ Fixes a problem where switching from DVI to VGA hangs.
+
+commit ff32eb25f8edde7343da3d4782f0f59896515ebd
+Author: Aaron Plattner
+Date: Sat Aug 23 10:41:00 2008 -0700
+
+ Fix warnings.
+
+commit c2128e5a8682e407b37f88c67a1709309247fc5d
+Author: Aaron Plattner
+Date: Sat Aug 23 10:36:37 2008 -0700
+
+ G80: Log the i2c port number for LVDS, when there is one.
+
+commit f485c553c23c67fd060fdea82f57128fd4a1749e
+Author: Alan Coopersmith
+Date: Fri May 9 15:23:49 2008 -0700
+
+ Print error message when pci_device_map_range fails
+
+commit 319ee20c9bd4f764297cf252723a23bb6a95051a
+Author: Alan Coopersmith
+Date: Fri May 9 15:23:14 2008 -0700
+
+ Fix pciaccess READ_LONG to work with Sun compilers
+
+ Sun compilers don't allow nesting {} inside () apparently
+
+commit 2e0416cf8970ab4e3065a0109129b2121982c031
+Author: Aaron Plattner
+Date: Sun Aug 3 19:29:34 2008 -0700
+
+ G80: Fix some ROP bugs.
+
+commit 9b727b8384d51e3657bb50efa090adde91c17a73
+Author: Aaron Plattner
+Date: Thu Jul 24 18:03:31 2008 -0700
+
+ Move hardware cursor initialization to after AcquireDisplay.
+
+ The original order works fine when the server starts, but on the second server
+ generation the server tries to call G80CrtcHideCursor before the display engine
+ has been initialized, causing a hang.
+
commit 6cd80057fadbb8d63d3e1a623515206800fefc8e
Author: Aaron Plattner
Date: Mon Jun 30 16:26:09 2008 -0700
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86Crtc.c new/xf86-video-nv-2.1.12/compat/modes/xf86Crtc.c
--- old/xf86-video-nv-2.1.10/compat/modes/xf86Crtc.c 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86Crtc.c 2008-07-23 02:37:58.000000000 +0200
@@ -694,7 +694,12 @@
/*
* Called at ScreenInit time to set up
*/
-_X_EXPORT Bool
+_X_EXPORT
+#ifdef RANDR_13_INTERFACE
+int
+#else
+Bool
+#endif
xf86CrtcScreenInit (ScreenPtr screen)
{
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
@@ -727,7 +732,11 @@
config->CloseScreen = screen->CloseScreen;
screen->CloseScreen = xf86CrtcCloseScreen;
+#ifdef RANDR_13_INTERFACE
+ return RANDR_INTERFACE_VERSION;
+#else
return TRUE;
+#endif
}
static DisplayModePtr
@@ -997,6 +1006,54 @@
#define POSITION_UNSET -100000
+/*
+ * check if the user configured any outputs at all
+ * with either a position or a relative setting or a mode.
+ */
+static Bool
+xf86UserConfiguredOutputs(ScrnInfoPtr scrn, DisplayModePtr *modes)
+{
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
+ int o;
+ Bool user_conf = FALSE;
+
+ for (o = 0; o < config->num_output; o++)
+ {
+ xf86OutputPtr output = config->output[o];
+ char *position;
+ char *relative_name;
+ OutputOpts relation;
+ int r;
+ static const OutputOpts relations[] = {
+ OPTION_BELOW, OPTION_RIGHT_OF, OPTION_ABOVE, OPTION_LEFT_OF
+ };
+
+ position = xf86GetOptValString (output->options,
+ OPTION_POSITION);
+ if (position)
+ user_conf = TRUE;
+
+ relation = 0;
+ relative_name = NULL;
+ for (r = 0; r < 4; r++)
+ {
+ relation = relations[r];
+ relative_name = xf86GetOptValString (output->options,
+ relation);
+ if (relative_name)
+ break;
+ }
+ if (relative_name)
+ user_conf = TRUE;
+
+ modes[o] = xf86OutputHasUserPreferredMode(output);
+ if (modes[o])
+ user_conf = TRUE;
+ }
+
+ return user_conf;
+}
+
static Bool
xf86InitialOutputPositions (ScrnInfoPtr scrn, DisplayModePtr *modes)
{
@@ -1128,10 +1185,10 @@
output->initial_x += xf86ModeWidth (modes[or], relative->initial_rotation);
break;
case OPTION_ABOVE:
- output->initial_y -= xf86ModeHeight (modes[o], relative->initial_rotation);
+ output->initial_y -= xf86ModeHeight (modes[o], output->initial_rotation);
break;
case OPTION_LEFT_OF:
- output->initial_x -= xf86ModeWidth (modes[o], relative->initial_rotation);
+ output->initial_x -= xf86ModeWidth (modes[o], output->initial_rotation);
break;
default:
break;
@@ -1683,6 +1740,7 @@
return output;
}
+_X_EXPORT void
xf86SetScrnInfoModes (ScrnInfoPtr scrn)
{
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -1704,9 +1762,11 @@
/* Set scrn->modes to the mode list for the 'compat' output */
scrn->modes = xf86DuplicateModes(scrn, output->probed_modes);
- for (mode = scrn->modes; mode; mode = mode->next)
- if (xf86ModesEqual (mode, &crtc->desiredMode))
- break;
+ if (crtc) {
+ for (mode = scrn->modes; mode; mode = mode->next)
+ if (xf86ModesEqual (mode, &crtc->desiredMode))
+ break;
+ }
if (scrn->modes != NULL) {
/* For some reason, scrn->modes is circular, unlike the other mode
@@ -1854,6 +1914,7 @@
nextEnabledOutput(config, enabled, &o);
while ((mode = nextAspectMode(config->output[o], mode, aspect))) {
+ test = mode;
for (p = o; nextEnabledOutput(config, enabled, &p); ) {
test = xf86OutputFindClosestMode(config->output[p], mode);
if (!test)
@@ -1980,6 +2041,9 @@
{
int o;
+ if (xf86UserConfiguredOutputs(scrn, modes))
+ return xf86TargetFallback(scrn, config, modes, enabled, width, height);
+
for (o = -1; nextEnabledOutput(config, enabled, &o); )
if (xf86OutputHasUserPreferredMode(config->output[o]))
return
@@ -2161,6 +2225,68 @@
}
/*
+ * Check the CRTC we're going to map each output to vs. it's current
+ * CRTC. If they don't match, we have to disable the output and the CRTC
+ * since the driver will have to re-route things.
+ */
+static void
+xf86PrepareOutputs (ScrnInfoPtr scrn)
+{
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
+ int o;
+
+ for (o = 0; o < config->num_output; o++) {
+ xf86OutputPtr output = config->output[o];
+#if RANDR_GET_CRTC_INTERFACE
+ /* Disable outputs that are unused or will be re-routed */
+ if (!output->funcs->get_crtc ||
+ output->crtc != (*output->funcs->get_crtc)(output) ||
+ output->crtc == NULL)
+#endif
+ (*output->funcs->dpms)(output, DPMSModeOff);
+ }
+}
+
+static void
+xf86PrepareCrtcs (ScrnInfoPtr scrn)
+{
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
+ int c;
+
+ for (c = 0; c < config->num_crtc; c++) {
+#if RANDR_GET_CRTC_INTERFACE
+ xf86CrtcPtr crtc = config->crtc[c];
+ xf86OutputPtr output = NULL;
+ uint32_t desired_outputs = 0, current_outputs = 0;
+ int o;
+
+ for (o = 0; o < config->num_output; o++) {
+ output = config->output[o];
+ if (output->crtc == crtc)
+ desired_outputs |= (1<funcs->get_crtc) {
+ desired_outputs = 0;
+ break;
+ }
+ if ((*output->funcs->get_crtc)(output) == crtc)
+ current_outputs |= (1<funcs->dpms)(crtc, DPMSModeOff);
+#else
+ (*crtc->funcs->dpms)(crtc, DPMSModeOff);
+#endif
+ }
+}
+
+/*
* Using the desired mode information in each crtc, set
* modes (used in EnterVT functions, or at server startup)
*/
@@ -2169,26 +2295,11 @@
xf86SetDesiredModes (ScrnInfoPtr scrn)
{
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
- int c, o;
-
- /*
- * Turn off everything so mode setting is done
- * with hardware in a consistent state
- */
- for (o = 0; o < config->num_output; o++)
- {
- xf86OutputPtr output = config->output[o];
- (*output->funcs->dpms)(output, DPMSModeOff);
- }
+ int c;
- for (c = 0; c < config->num_crtc; c++)
- {
- xf86CrtcPtr crtc = config->crtc[c];
+ xf86PrepareOutputs(scrn);
+ xf86PrepareCrtcs(scrn);
- crtc->funcs->dpms(crtc, DPMSModeOff);
- memset(&crtc->mode, 0, sizeof(crtc->mode));
- }
-
for (c = 0; c < config->num_crtc; c++)
{
xf86CrtcPtr crtc = config->crtc[c];
@@ -2369,7 +2480,7 @@
}
}
xf86DisableUnusedFunctions(pScrn);
-#if RANDR_12_INTERFACE
+#ifdef RANDR_12_INTERFACE
xf86RandR12TellChanged (pScrn->pScreen);
#endif
return ok;
@@ -2567,15 +2678,16 @@
return xf86DDCGetModes(scrn->scrnIndex, edid_mon);
}
+/* maybe we should care about DDC1? meh. */
_X_EXPORT xf86MonPtr
xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus)
{
ScrnInfoPtr scrn = output->scrn;
xf86MonPtr mon;
- mon = xf86DoEDID_DDC2 (scrn->scrnIndex, pDDCBus);
+ mon = xf86DoEEDID(scrn->scrnIndex, pDDCBus, TRUE);
if (mon)
- xf86DDCApplyQuirks (scrn->scrnIndex, mon);
+ xf86DDCApplyQuirks(scrn->scrnIndex, mon);
return mon;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86Crtc.h new/xf86-video-nv-2.1.12/compat/modes/xf86Crtc.h
--- old/xf86-video-nv-2.1.10/compat/modes/xf86Crtc.h 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86Crtc.h 2008-07-23 02:37:58.000000000 +0200
@@ -215,8 +215,15 @@
Rotation rotation, int x, int y);
} xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
+#define XF86_CRTC_VERSION 1
+
struct _xf86Crtc {
/**
+ * ABI versioning
+ */
+ int version;
+
+ /**
* Associated ScrnInfo
*/
ScrnInfoPtr scrn;
@@ -410,6 +417,21 @@
Atom property,
RRPropertyValuePtr value);
#endif
+#ifdef RANDR_13_INTERFACE
+ /**
+ * Callback to get an updated property value
+ */
+ Bool
+ (*get_property)(xf86OutputPtr output,
+ Atom property);
+#endif
+#ifdef RANDR_GET_CRTC_INTERFACE
+ /**
+ * Callback to get current CRTC for a given output
+ */
+ xf86CrtcPtr
+ (*get_crtc)(xf86OutputPtr output);
+#endif
/**
* Clean up driver-specific bits of the output
*/
@@ -417,8 +439,16 @@
(*destroy) (xf86OutputPtr output);
} xf86OutputFuncsRec, *xf86OutputFuncsPtr;
+
+#define XF86_OUTPUT_VERSION 1
+
struct _xf86Output {
/**
+ * ABI versioning
+ */
+ int version;
+
+ /**
* Associated ScrnInfo
*/
ScrnInfoPtr scrn;
@@ -635,6 +665,12 @@
xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation);
/*
+ * free shadow memory allocated for all crtcs
+ */
+void
+xf86RotateFreeShadow(ScrnInfoPtr pScrn);
+
+/*
* Clean up rotation during CloseScreen
*/
void
@@ -669,7 +705,11 @@
void
xf86SetScrnInfoModes (ScrnInfoPtr pScrn);
+#ifdef RANDR_13_INTERFACE
+int
+#else
Bool
+#endif
xf86CrtcScreenInit (ScreenPtr pScreen);
Bool
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86Cursors.c new/xf86-video-nv-2.1.12/compat/modes/xf86Cursors.c
--- old/xf86-video-nv-2.1.10/compat/modes/xf86Cursors.c 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86Cursors.c 2008-07-23 02:37:58.000000000 +0200
@@ -45,6 +45,7 @@
#include "picturestr.h"
#endif
#include "cursorstr.h"
+#include "inputstr.h"
/*
* Given a screen coordinate, rotate back to a cursor source coordinate
@@ -227,8 +228,13 @@
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
CursorPtr cursor = xf86_config->cursor;
int c;
- CARD8 *bits = cursor ? dixLookupPrivate(&cursor->devPrivates,
- screen) : NULL;
+ CARD8 *bits = cursor ?
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
+ dixLookupPrivate(&cursor->devPrivates, screen)
+#else
+ cursor->devPriv[screen->myNum]
+#endif
+ : NULL;
/* Save ARGB versions of these colors */
xf86_config->cursor_fg = (CARD32) fg | 0xff000000;
@@ -590,8 +596,10 @@
CursorPtr cursor;
int x, y;
- /* initial mode setting will not have set a screen yet */
- if (!screen)
+ /* initial mode setting will not have set a screen yet.
+ May be called before the devices are initialised.
+ */
+ if (!screen || !inputInfo.pointer)
return;
scrn = xf86Screens[screen->myNum];
xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
@@ -602,19 +610,23 @@
return;
cursor = xf86_config->cursor;
- GetSpritePosition (&x, &y);
+ GetSpritePosition (inputInfo.pointer, &x, &y);
if (!(cursor_info->Flags & HARDWARE_CURSOR_UPDATE_UNHIDDEN))
(*cursor_info->HideCursor)(scrn);
if (cursor)
{
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
+ void *src = dixLookupPrivate(&cursor->devPrivates, screen);
+#else
+ void *src = cursor->devPriv[screen->myNum];
+#endif
#ifdef ARGB_CURSOR
if (cursor->bits->argb && cursor_info->LoadCursorARGB)
(*cursor_info->LoadCursorARGB) (scrn, cursor);
- else
+ else if (src)
#endif
- (*cursor_info->LoadCursorImage)(cursor_info->pScrn,
- dixLookupPrivate(&cursor->devPrivates, screen));
+ (*cursor_info->LoadCursorImage)(cursor_info->pScrn, src);
(*cursor_info->SetCursorPosition)(cursor_info->pScrn, x, y);
(*cursor_info->ShowCursor)(cursor_info->pScrn);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86EdidModes.c new/xf86-video-nv-2.1.12/compat/modes/xf86EdidModes.c
--- old/xf86-video-nv-2.1.10/compat/modes/xf86EdidModes.c 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86EdidModes.c 2008-07-23 02:38:11.000000000 +0200
@@ -1,5 +1,6 @@
/*
* Copyright 2006 Luc Verhaegen.
+ * Copyright 2008 Red Hat, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -34,16 +35,39 @@
#endif
#endif
+#define _PARSE_EDID_
#include "xf86.h"
#include "xf86DDC.h"
#include
#include "property.h"
#include "propertyst.h"
-#include "xf86DDC.h"
#include "xf86Crtc.h"
#include
#include
+static Bool
+xf86MonitorSupportsReducedBlanking(xf86MonPtr DDC)
+{
+ /* EDID 1.4 explicitly defines RB support */
+ if (DDC->ver.revision >= 4) {
+ int i;
+ for (i = 0; i < DET_TIMINGS; i++) {
+ struct detailed_monitor_section *det_mon = &DDC->det_mon[i];
+ if (det_mon->type == DS_RANGES)
+ if (det_mon->section.ranges.supported_blanking & CVT_REDUCED)
+ return TRUE;
+ }
+
+ return FALSE;
+ }
+
+ /* For anything older, assume digital means RB support. Boo. */
+ if (DDC->features.input_type)
+ return TRUE;
+
+ return FALSE;
+}
+
/*
* Quirks to work around broken EDID data from various monitors.
*/
@@ -68,6 +92,8 @@
DDC_QUIRK_FIRST_DETAILED_PREFERRED = 1 << 6,
/* use +hsync +vsync for detailed mode */
DDC_QUIRK_DETAILED_SYNC_PP = 1 << 7,
+ /* Force single-link DVI bandwidth limit */
+ DDC_QUIRK_DVI_SINGLE_LINK = 1 << 8,
} ddc_quirk_t;
static Bool quirk_prefer_large_60 (int scrnIndex, xf86MonPtr DDC)
@@ -181,6 +207,16 @@
return FALSE;
}
+/* This should probably be made more generic */
+static Bool quirk_dvi_single_link(int scrnIndex, xf86MonPtr DDC)
+{
+ /* Red Hat bug #453106: Apple 23" Cinema Display */
+ if (memcmp (DDC->vendor.name, "APL", 4) == 0 &&
+ DDC->vendor.prod_id == 0x921c)
+ return TRUE;
+ return FALSE;
+}
+
typedef struct {
Bool (*detect) (int scrnIndex, xf86MonPtr DDC);
ddc_quirk_t quirk;
@@ -220,6 +256,10 @@
quirk_detailed_sync_pp, DDC_QUIRK_DETAILED_SYNC_PP,
"Use +hsync +vsync for detailed timing."
},
+ {
+ quirk_dvi_single_link, DDC_QUIRK_DVI_SINGLE_LINK,
+ "Forcing maximum pixel clock to single DVI link."
+ },
{
NULL, DDC_QUIRK_NONE,
"No known quirks"
@@ -227,8 +267,13 @@
};
/*
- * TODO:
- * - for those with access to the VESA DMT standard; review please.
+ * These more or less come from the DMT spec. The 720x400 modes are
+ * inferred from historical 80x25 practice. The 640x480@67 and 832x624@75
+ * modes are old-school Mac modes. The EDID spec says the 1152x864@75 mode
+ * should be 1152x870, again for the Mac, but instead we use the x864 DMT
+ * mode.
+ *
+ * The DMT modes have been fact-checked; the rest are mild guesses.
*/
#define MODEPREFIX NULL, NULL, NULL, 0, M_T_DRIVER
#define MODESUFFIX 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FALSE,FALSE,0,NULL,0,0.0,0.0
@@ -237,16 +282,16 @@
{ MODEPREFIX, 40000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@60Hz */
{ MODEPREFIX, 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@56Hz */
{ MODEPREFIX, 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@75Hz */
- { MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 491, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@72Hz */
+ { MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 492, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@72Hz */
{ MODEPREFIX, 30240, 640, 704, 768, 864, 0, 480, 483, 486, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@67Hz */
- { MODEPREFIX, 25200, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@60Hz */
+ { MODEPREFIX, 25175, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@60Hz */
{ MODEPREFIX, 35500, 720, 738, 846, 900, 0, 400, 421, 423, 449, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 720x400@88Hz */
{ MODEPREFIX, 28320, 720, 738, 846, 900, 0, 400, 412, 414, 449, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 720x400@70Hz */
{ MODEPREFIX, 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@75Hz */
- { MODEPREFIX, 78800, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@75Hz */
+ { MODEPREFIX, 78750, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@75Hz */
{ MODEPREFIX, 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@70Hz */
{ MODEPREFIX, 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@60Hz */
- { MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 776, 817, 0, V_PHSYNC | V_PVSYNC | V_INTERLACE, MODESUFFIX }, /* 1024x768@43Hz */
+ { MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 772, 817, 0, V_PHSYNC | V_PVSYNC | V_INTERLACE, MODESUFFIX }, /* 1024x768@43Hz */
{ MODEPREFIX, 57284, 832, 864, 928, 1152, 0, 624, 625, 628, 667, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 832x624@75Hz */
{ MODEPREFIX, 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@75Hz */
{ MODEPREFIX, 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@72Hz */
@@ -272,6 +317,90 @@
return Modes;
}
+/* Autogenerated from the DMT spec */
+static const DisplayModeRec DMTModes[] = {
+ { MODEPREFIX, 31500, 640, 672, 736, 832, 0, 350, 382, 385, 445, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x350@85Hz */
+ { MODEPREFIX, 31500, 640, 672, 736, 832, 0, 400, 401, 404, 445, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 640x400@85Hz */
+ { MODEPREFIX, 35500, 720, 756, 828, 936, 0, 400, 401, 404, 446, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 720x400@85Hz */
+ { MODEPREFIX, 25175, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@60Hz */
+ { MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 492, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@72Hz */
+ { MODEPREFIX, 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@75Hz */
+ { MODEPREFIX, 36000, 640, 696, 752, 832, 0, 480, 481, 484, 509, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@85Hz */
+ { MODEPREFIX, 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@56Hz */
+ { MODEPREFIX, 40000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@60Hz */
+ { MODEPREFIX, 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@72Hz */
+ { MODEPREFIX, 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@75Hz */
+ { MODEPREFIX, 56250, 800, 832, 896, 1048, 0, 600, 601, 604, 631, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@85Hz */
+ { MODEPREFIX, 73250, 800, 848, 880, 960, 0, 600, 603, 607, 636, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 800x600@120Hz RB */
+ { MODEPREFIX, 33750, 848, 864, 976, 1088, 0, 480, 486, 494, 517, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 848x480@60Hz */
+ { MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 772, 817, 0, V_PHSYNC | V_PVSYNC | V_INTERLACE, MODESUFFIX }, /* 1024x768@43Hz (interlaced) */
+ { MODEPREFIX, 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@60Hz */
+ { MODEPREFIX, 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@70Hz */
+ { MODEPREFIX, 78750, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@75Hz */
+ { MODEPREFIX, 94500, 1024, 1072, 1168, 1376, 0, 768, 769, 772, 808, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@85Hz */
+ { MODEPREFIX, 115500, 1024, 1072, 1104, 1184, 0, 768, 771, 775, 813, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@120Hz RB */
+ { MODEPREFIX, 108000, 1152, 1216, 1344, 1600, 0, 864, 865, 868, 900, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1152x864@75Hz */
+ { MODEPREFIX, 68250, 1280, 1328, 1360, 1440, 0, 768, 771, 778, 790, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x768@60Hz RB */
+ { MODEPREFIX, 79500, 1280, 1344, 1472, 1664, 0, 768, 771, 778, 798, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x768@60Hz */
+ { MODEPREFIX, 102250, 1280, 1360, 1488, 1696, 0, 768, 771, 778, 805, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x768@75Hz */
+ { MODEPREFIX, 117500, 1280, 1360, 1496, 1712, 0, 768, 771, 778, 809, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x768@85Hz */
+ { MODEPREFIX, 140250, 1280, 1328, 1360, 1440, 0, 768, 771, 778, 813, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x768@120Hz RB */
+ { MODEPREFIX, 71000, 1280, 1328, 1360, 1440, 0, 800, 803, 809, 823, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x800@60Hz RB */
+ { MODEPREFIX, 83500, 1280, 1352, 1480, 1680, 0, 800, 803, 809, 831, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x800@60Hz */
+ { MODEPREFIX, 106500, 1280, 1360, 1488, 1696, 0, 800, 803, 809, 838, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x800@75Hz */
+ { MODEPREFIX, 122500, 1280, 1360, 1496, 1712, 0, 800, 803, 809, 843, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x800@85Hz */
+ { MODEPREFIX, 146250, 1280, 1328, 1360, 1440, 0, 800, 803, 809, 847, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x800@120Hz RB */
+ { MODEPREFIX, 108000, 1280, 1376, 1488, 1800, 0, 960, 961, 964, 1000, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x960@60Hz */
+ { MODEPREFIX, 148500, 1280, 1344, 1504, 1728, 0, 960, 961, 964, 1011, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x960@85Hz */
+ { MODEPREFIX, 175500, 1280, 1328, 1360, 1440, 0, 960, 963, 967, 1017, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x960@120Hz RB */
+ { MODEPREFIX, 108000, 1280, 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@60Hz */
+ { MODEPREFIX, 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@75Hz */
+ { MODEPREFIX, 157500, 1280, 1344, 1504, 1728, 0, 1024, 1025, 1028, 1072, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@85Hz */
+ { MODEPREFIX, 187250, 1280, 1328, 1360, 1440, 0, 1024, 1027, 1034, 1084, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x1024@120Hz RB */
+ { MODEPREFIX, 85500, 1360, 1424, 1536, 1792, 0, 768, 771, 777, 795, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1360x768@60Hz */
+ { MODEPREFIX, 148250, 1360, 1408, 1440, 1520, 0, 768, 771, 776, 813, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1360x768@120Hz RB */
+ { MODEPREFIX, 101000, 1400, 1448, 1480, 1560, 0, 1050, 1053, 1057, 1080, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1400x1050@60Hz RB */
+ { MODEPREFIX, 121750, 1400, 1488, 1632, 1864, 0, 1050, 1053, 1057, 1089, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1400x1050@60Hz */
+ { MODEPREFIX, 156000, 1400, 1504, 1648, 1896, 0, 1050, 1053, 1057, 1099, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1400x1050@75Hz */
+ { MODEPREFIX, 179500, 1400, 1504, 1656, 1912, 0, 1050, 1053, 1057, 1105, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1400x1050@85Hz */
+ { MODEPREFIX, 208000, 1400, 1448, 1480, 1560, 0, 1050, 1053, 1057, 1112, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1400x1050@120Hz RB */
+ { MODEPREFIX, 88750, 1440, 1488, 1520, 1600, 0, 900, 903, 909, 926, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1440x900@60Hz RB */
+ { MODEPREFIX, 106500, 1440, 1520, 1672, 1904, 0, 900, 903, 909, 934, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1440x900@60Hz */
+ { MODEPREFIX, 136750, 1440, 1536, 1688, 1936, 0, 900, 903, 909, 942, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1440x900@75Hz */
+ { MODEPREFIX, 157000, 1440, 1544, 1696, 1952, 0, 900, 903, 909, 948, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1440x900@85Hz */
+ { MODEPREFIX, 182750, 1440, 1488, 1520, 1600, 0, 900, 903, 909, 953, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1440x900@120Hz RB */
+ { MODEPREFIX, 162000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@60Hz */
+ { MODEPREFIX, 175500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@65Hz */
+ { MODEPREFIX, 189000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@70Hz */
+ { MODEPREFIX, 202500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@75Hz */
+ { MODEPREFIX, 229500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@85Hz */
+ { MODEPREFIX, 268250, 1600, 1648, 1680, 1760, 0, 1200, 1203, 1207, 1271, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1600x1200@120Hz RB */
+ { MODEPREFIX, 119000, 1680, 1728, 1760, 1840, 0, 1050, 1053, 1059, 1080, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1680x1050@60Hz RB */
+ { MODEPREFIX, 146250, 1680, 1784, 1960, 2240, 0, 1050, 1053, 1059, 1089, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1680x1050@60Hz */
+ { MODEPREFIX, 187000, 1680, 1800, 1976, 2272, 0, 1050, 1053, 1059, 1099, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1680x1050@75Hz */
+ { MODEPREFIX, 214750, 1680, 1808, 1984, 2288, 0, 1050, 1053, 1059, 1105, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1680x1050@85Hz */
+ { MODEPREFIX, 245500, 1680, 1728, 1760, 1840, 0, 1050, 1053, 1059, 1112, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1680x1050@120Hz RB */
+ { MODEPREFIX, 204750, 1792, 1920, 2120, 2448, 0, 1344, 1345, 1348, 1394, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1792x1344@60Hz */
+ { MODEPREFIX, 261000, 1792, 1888, 2104, 2456, 0, 1344, 1345, 1348, 1417, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1792x1344@75Hz */
+ { MODEPREFIX, 333250, 1792, 1840, 1872, 1952, 0, 1344, 1347, 1351, 1423, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1792x1344@120Hz RB */
+ { MODEPREFIX, 218250, 1856, 1952, 2176, 2528, 0, 1392, 1393, 1396, 1439, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1856x1392@60Hz */
+ { MODEPREFIX, 288000, 1856, 1984, 2208, 2560, 0, 1392, 1393, 1396, 1500, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1856x1392@75Hz */
+ { MODEPREFIX, 356500, 1856, 1904, 1936, 2016, 0, 1392, 1395, 1399, 1474, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1856x1392@120Hz RB */
+ { MODEPREFIX, 154000, 1920, 1968, 2000, 2080, 0, 1200, 1203, 1209, 1235, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1920x1200@60Hz RB */
+ { MODEPREFIX, 193250, 1920, 2056, 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1200@60Hz */
+ { MODEPREFIX, 245250, 1920, 2056, 2264, 2608, 0, 1200, 1203, 1209, 1255, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1200@75Hz */
+ { MODEPREFIX, 281250, 1920, 2064, 2272, 2624, 0, 1200, 1203, 1209, 1262, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1200@85Hz */
+ { MODEPREFIX, 317000, 1920, 1968, 2000, 2080, 0, 1200, 1203, 1209, 1271, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1920x1200@120Hz RB */
+ { MODEPREFIX, 234000, 1920, 2048, 2256, 2600, 0, 1440, 1441, 1444, 1500, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1440@60Hz */
+ { MODEPREFIX, 297000, 1920, 2064, 2288, 2640, 0, 1440, 1441, 1444, 1500, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1440@75Hz */
+ { MODEPREFIX, 380500, 1920, 1968, 2000, 2080, 0, 1440, 1443, 1447, 1525, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1920x1440@120Hz RB */
+ { MODEPREFIX, 268500, 2560, 2608, 2640, 2720, 0, 1600, 1603, 1609, 1646, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 2560x1600@60Hz RB */
+ { MODEPREFIX, 348500, 2560, 2752, 3032, 3504, 0, 1600, 1603, 1609, 1658, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 2560x1600@60Hz */
+ { MODEPREFIX, 443250, 2560, 2768, 3048, 3536, 0, 1600, 1603, 1609, 1672, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 2560x1600@75Hz */
+ { MODEPREFIX, 505250, 2560, 2768, 3048, 3536, 0, 1600, 1603, 1609, 1682, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 2560x1600@85Hz */
+ { MODEPREFIX, 552750, 2560, 2608, 2640, 2720, 0, 1600, 1603, 1609, 1694, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 2560x1600@120Hz RB */
+};
+
#define LEVEL_DMT 0
#define LEVEL_GTF 1
#define LEVEL_CVT 2
@@ -288,12 +417,43 @@
return LEVEL_DMT;
}
+static int
+ModeRefresh(DisplayModePtr mode)
+{
+ return (int)(xf86ModeVRefresh(mode) + 0.5);
+}
+
+/*
+ * If rb is not set, then we'll not consider reduced-blanking modes as
+ * part of the DMT pool. For the 'standard' EDID mode descriptor there's
+ * no way to specify whether the mode should be RB or not.
+ */
+static DisplayModePtr
+FindDMTMode(int hsize, int vsize, int refresh, Bool rb)
+{
+ int i;
+ DisplayModePtr ret;
+
+ for (i = 0; i < sizeof(DMTModes) / sizeof(DisplayModeRec); i++) {
+ ret = &DMTModes[i];
+
+ if (!rb && xf86ModeIsReduced(ret))
+ continue;
+
+ if (ret->HDisplay == hsize &&
+ ret->VDisplay == vsize &&
+ refresh == ModeRefresh(ret))
+ return xf86DuplicateMode(ret);
+ }
+
+ return NULL;
+}
+
/*
- * This is not really correct. Appendix B of the EDID 1.4 spec defines
- * the right thing to do here. If the timing given here matches a mode
- * defined in the VESA DMT standard, we _must_ use that. If the device
- * supports CVT modes, then we should generate a CVT timing. If both
- * of the above fail, use GTF.
+ * Appendix B of the EDID 1.4 spec defines the right thing to do here.
+ * If the timing given here matches a mode defined in the VESA DMT standard,
+ * we _must_ use that. If the device supports CVT modes, then we should
+ * generate a CVT timing. If both of the above fail, use GTF.
*
* There are some wrinkles here. EDID 1.1 and 1.0 sinks can't really
* "support" GTF, since it wasn't a standard yet; so if they ask for a
@@ -308,20 +468,28 @@
*/
static DisplayModePtr
DDCModesFromStandardTiming(struct std_timings *timing, ddc_quirk_t quirks,
- int timing_level)
+ int timing_level, Bool rb)
{
DisplayModePtr Modes = NULL, Mode = NULL;
int i;
for (i = 0; i < STD_TIMINGS; i++) {
if (timing[i].hsize && timing[i].vsize && timing[i].refresh) {
- /* XXX check for DMT first, else... */
- if (timing_level == LEVEL_CVT)
- Mode = xf86CVTMode(timing[i].hsize, timing[i].vsize,
- timing[i].refresh, FALSE, FALSE);
- else
- Mode = xf86GTFMode(timing[i].hsize, timing[i].vsize,
- timing[i].refresh, FALSE, FALSE);
+ Mode = FindDMTMode(timing[i].hsize, timing[i].vsize,
+ timing[i].refresh, rb);
+
+ if (!Mode) {
+ if (timing_level == LEVEL_CVT)
+ /* pass rb here too? */
+ Mode = xf86CVTMode(timing[i].hsize, timing[i].vsize,
+ timing[i].refresh, FALSE, FALSE);
+ else if (timing_level == LEVEL_GTF)
+ Mode = xf86GTFMode(timing[i].hsize, timing[i].vsize,
+ timing[i].refresh, FALSE, FALSE);
+ }
+
+ if (!Mode)
+ continue;
Mode->type = M_T_DRIVER;
Modes = xf86ModesAdd(Modes, Mode);
@@ -363,7 +531,7 @@
/* We only do seperate sync currently */
if (timing->sync != 0x03) {
xf86DrvMsg(scrnIndex, X_INFO,
- "%s: %dx%d Warning: We only handle seperate"
+ "%s: %dx%d Warning: We only handle separate"
" sync.\n", __func__, timing->h_active, timing->v_active);
}
@@ -419,6 +587,7 @@
return Mode;
}
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
static DisplayModePtr
DDCModesFromCVT(int scrnIndex, struct cvt_timings *t)
{
@@ -447,6 +616,7 @@
return modes;
}
+#endif
/*
@@ -595,7 +765,7 @@
int i;
DisplayModePtr Modes = NULL, Mode;
ddc_quirk_t quirks;
- Bool preferred;
+ Bool preferred, rb;
int timing_level;
xf86DrvMsg (scrnIndex, X_INFO, "EDID vendor \"%s\", prod id %d\n",
@@ -611,6 +781,8 @@
if (quirks & (DDC_QUIRK_PREFER_LARGE_60 | DDC_QUIRK_PREFER_LARGE_75))
preferred = FALSE;
+ rb = xf86MonitorSupportsReducedBlanking(DDC);
+
timing_level = MonitorStandardTimingLevel(DDC);
for (i = 0; i < DET_TIMINGS; i++) {
@@ -627,13 +799,15 @@
break;
case DS_STD_TIMINGS:
Mode = DDCModesFromStandardTiming(det_mon->section.std_t,
- quirks, timing_level);
+ quirks, timing_level, rb);
Modes = xf86ModesAdd(Modes, Mode);
break;
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
case DS_CVT:
Mode = DDCModesFromCVT(scrnIndex, det_mon->section.cvt);
Modes = xf86ModesAdd(Modes, Mode);
break;
+#endif
default:
break;
}
@@ -644,7 +818,7 @@
Modes = xf86ModesAdd(Modes, Mode);
/* Add standard timings */
- Mode = DDCModesFromStandardTiming(DDC->timings2, quirks, timing_level);
+ Mode = DDCModesFromStandardTiming(DDC->timings2, quirks, timing_level, rb);
Modes = xf86ModesAdd(Modes, Mode);
if (quirks & DDC_QUIRK_PREFER_LARGE_60)
@@ -665,23 +839,21 @@
DisplayModePtr Modes = NULL, Mode;
int i, clock;
Bool have_hsync = FALSE, have_vrefresh = FALSE, have_maxpixclock = FALSE;
+ ddc_quirk_t quirks;
if (!Monitor || !DDC)
return;
Monitor->DDC = DDC;
+ quirks = xf86DDCDetectQuirks(scrnIndex, DDC, FALSE);
+
if (Monitor->widthmm <= 0 && Monitor->heightmm <= 0) {
Monitor->widthmm = 10 * DDC->features.hsize;
Monitor->heightmm = 10 * DDC->features.vsize;
}
- /*
- * If this is a digital display, then we can use reduced blanking.
- * XXX This is a 1.3 heuristic. 1.4 explicitly defines rb support.
- */
- if (DDC->features.input_type)
- Monitor->reducedblanking = TRUE;
+ Monitor->reducedblanking = xf86MonitorSupportsReducedBlanking(DDC);
Modes = xf86DDCGetModes(scrnIndex, DDC);
@@ -723,6 +895,8 @@
}
clock = DDC->det_mon[i].section.ranges.max_clock * 1000;
+ if (quirks & DDC_QUIRK_DVI_SINGLE_LINK)
+ clock = min(clock, 165000);
if (!have_maxpixclock && clock > Monitor->maxPixClock)
Monitor->maxPixClock = clock;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86gtf.c new/xf86-video-nv-2.1.12/compat/modes/xf86gtf.c
--- old/xf86-video-nv-2.1.10/compat/modes/xf86gtf.c 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86gtf.c 2008-07-23 02:37:58.000000000 +0200
@@ -62,6 +62,10 @@
#ifdef HAVE_XORG_CONFIG_H
# include
+#else
+#ifdef HAVE_CONFIG_H
+#include
+#endif
#endif
#include "xf86.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86Modes.c new/xf86-video-nv-2.1.12/compat/modes/xf86Modes.c
--- old/xf86-video-nv-2.1.10/compat/modes/xf86Modes.c 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86Modes.c 2008-07-23 02:38:11.000000000 +0200
@@ -509,10 +509,27 @@
for (mode = modeList; mode != NULL; mode = mode->next) {
if (xf86ModeBandwidth(mode, depth) > bandwidth)
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
mode->status = MODE_BANDWIDTH;
+#else
+ /* MODE_BANDWIDTH didn't exist in xserver 1.2 */
+ mode->status = MODE_BAD;
+#endif
}
}
+Bool
+xf86ModeIsReduced(DisplayModePtr mode)
+{
+ if ((((mode->HDisplay * 5 / 4) & ~0x07) > mode->HTotal) &&
+ ((mode->HTotal - mode->HDisplay) == 160) &&
+ ((mode->HSyncEnd - mode->HDisplay) == 80) &&
+ ((mode->HSyncEnd - mode->HSyncStart) == 32) &&
+ ((mode->VSyncStart - mode->VDisplay) == 3))
+ return TRUE;
+ return FALSE;
+}
+
/**
* Marks as bad any reduced-blanking modes.
*
@@ -521,7 +538,6 @@
_X_EXPORT void
xf86ValidateModesReducedBlanking(ScrnInfoPtr pScrn, DisplayModePtr modeList)
{
- Bool mode_is_reduced = FALSE;
DisplayModePtr mode;
for (mode = modeList; mode != NULL; mode = mode->next) {
@@ -677,7 +693,7 @@
_X_EXPORT DisplayModePtr
xf86GetDefaultModes (Bool interlaceAllowed, Bool doubleScanAllowed)
{
- DisplayModePtr head = NULL, prev = NULL, mode;
+ DisplayModePtr head = NULL, mode;
int i;
for (i = 0; i < xf86NumDefaultModes; i++)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86Modes.h new/xf86-video-nv-2.1.12/compat/modes/xf86Modes.h
--- old/xf86-video-nv-2.1.10/compat/modes/xf86Modes.h 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86Modes.h 2008-07-23 02:38:11.000000000 +0200
@@ -64,6 +64,9 @@
Bool Reduced, Bool Interlaced);
DisplayModePtr xf86GTFMode(int h_pixels, int v_lines, float freq, int interlaced, int margins);
+Bool
+xf86ModeIsReduced(DisplayModePtr mode);
+
void
xf86ValidateModesFlags(ScrnInfoPtr pScrn, DisplayModePtr modeList,
int flags);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86RandR12.c new/xf86-video-nv-2.1.12/compat/modes/xf86RandR12.c
--- old/xf86-video-nv-2.1.10/compat/modes/xf86RandR12.c 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86RandR12.c 2008-07-23 02:37:58.000000000 +0200
@@ -37,6 +37,7 @@
#include "xf86DDC.h"
#include "mipointer.h"
#include "windowstr.h"
+#include "inputstr.h"
#include
#include
@@ -60,11 +61,21 @@
#endif
static int xf86RandR12Generation;
-static DevPrivateKey xf86RandR12Key;
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
+static DevPrivateKey xf86RandR12Key;
#define XF86RANDRINFO(p) ((XF86RandRInfoPtr) \
dixLookupPrivate(&(p)->devPrivates, xf86RandR12Key))
+#else /* XORG_VERSION_CURRENT < 7.0 */
+
+static int xf86RandR12Index;
+#define XF86RANDRINFO(p) \
+ ((XF86RandRInfoPtr)(p)->devPrivates[xf86RandR12Index].ptr)
+
+#endif /* XORG_VERSION_CURRENT < 7.0 */
+
+
static int
xf86RandR12ModeRefresh (DisplayModePtr mode)
{
@@ -247,7 +258,7 @@
randrp->virtualY = scrp->virtualY;
}
- miPointerPosition (&px, &py);
+ miPointerGetPosition (inputInfo.pointer, &px, &py);
for (mode = scrp->modes; ; mode = mode->next)
{
if (randrp->maxX == 0 || randrp->maxY == 0)
@@ -294,14 +305,14 @@
/*
* Move the cursor back where it belongs; SwitchMode repositions it
*/
- if (pScreen == miPointerCurrentScreen ())
+ if (pScreen == miPointerGetScreen(inputInfo.pointer))
{
px = (px >= pScreen->width ? (pScreen->width - 1) : px);
py = (py >= pScreen->height ? (pScreen->height - 1) : py);
xf86SetViewport(pScreen, px, py);
- (*pScreen->SetCursorPosition) (pScreen, px, py, FALSE);
+ (*pScreen->SetCursorPosition) (inputInfo.pointer, pScreen, px, py, FALSE);
}
return TRUE;
@@ -321,13 +332,17 @@
PixmapPtr pScrnPix = (*pScreen->GetScreenPixmap)(pScreen);
Bool ret = FALSE;
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
if (xf86RandR12Key) {
+#endif
if (randrp->virtualX == -1 || randrp->virtualY == -1)
{
randrp->virtualX = pScrn->virtualX;
randrp->virtualY = pScrn->virtualY;
}
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
}
+#endif
if (pRoot && pScrn->vtSema)
(*pScrn->EnableDisableFBAccess) (pScreen->myNum, FALSE);
@@ -449,8 +464,10 @@
mmHeight);
}
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
if (xf86RandR12Key == NULL)
return TRUE;
+#endif
if (randrp->virtualX == -1 || randrp->virtualY == -1)
{
@@ -481,7 +498,11 @@
if (xf86RandR12Generation != serverGeneration)
xf86RandR12Generation = serverGeneration;
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
xf86RandR12Key = &xf86RandR12Key;
+#else
+ xf86RandR12Index = AllocateScreenPrivateIndex();
+#endif
randrp = xalloc (sizeof (XF86RandRInfoRec));
if (!randrp)
@@ -507,7 +528,11 @@
randrp->maxX = randrp->maxY = 0;
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
dixSetPrivate(&pScreen->devPrivates, xf86RandR12Key, randrp);
+#else
+ pScreen->devPrivates[xf86RandR12Index].ptr = randrp;
+#endif
#if RANDR_12_INTERFACE
if (!xf86RandR12Init12 (pScreen))
@@ -526,8 +551,10 @@
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
#endif
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
if (xf86RandR12Key == NULL)
return;
+#endif
randrp = XF86RANDRINFO(pScreen);
#if RANDR_12_INTERFACE
@@ -832,6 +859,20 @@
}
static Bool
+xf86RandR13OutputGetProperty (ScreenPtr pScreen,
+ RROutputPtr randr_output,
+ Atom property)
+{
+ xf86OutputPtr output = randr_output->devPrivate;
+
+ if (output->funcs->get_property == NULL)
+ return TRUE;
+
+ /* Should be safe even w/o vtSema */
+ return output->funcs->get_property(output, property);
+}
+
+static Bool
xf86RandR12OutputValidateMode (ScreenPtr pScreen,
RROutputPtr randr_output,
RRModePtr randr_mode)
@@ -1060,8 +1101,10 @@
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
if (xf86RandR12Key == NULL)
return TRUE;
+#endif
for (c = 0; c < config->num_crtc; c++)
xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc);
@@ -1083,8 +1126,13 @@
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
int c;
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0)
if (xf86RandR12Key == NULL)
return;
+#else
+ if (!XF86RANDRINFO(pScreen))
+ return;
+#endif
xf86RandR12SetInfo12 (pScreen);
for (c = 0; c < config->num_crtc; c++)
@@ -1110,6 +1158,9 @@
rp->rrCrtcSetGamma = xf86RandR12CrtcSetGamma;
rp->rrOutputSetProperty = xf86RandR12OutputSetProperty;
rp->rrOutputValidateMode = xf86RandR12OutputValidateMode;
+#if RANDR_13_INTERFACE
+ rp->rrOutputGetProperty = xf86RandR13OutputGetProperty;
+#endif
rp->rrModeDestroy = xf86RandR12ModeDestroy;
rp->rrSetConfig = NULL;
pScrn->PointerMoved = xf86RandR12PointerMoved;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/compat/modes/xf86Rotate.c new/xf86-video-nv-2.1.12/compat/modes/xf86Rotate.c
--- old/xf86-video-nv-2.1.10/compat/modes/xf86Rotate.c 2008-06-09 19:03:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/compat/modes/xf86Rotate.c 2008-07-23 02:37:58.000000000 +0200
@@ -457,8 +457,7 @@
}
for (c = 0; c < xf86_config->num_crtc; c++)
- if (xf86_config->crtc[c]->rotatedPixmap ||
- xf86_config->crtc[c]->rotatedData)
+ if (xf86_config->crtc[c]->transform_in_use)
return;
/*
@@ -479,6 +478,24 @@
}
_X_EXPORT void
+xf86RotateFreeShadow(ScrnInfoPtr pScrn)
+{
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
+ int c;
+
+ for (c = 0; c < config->num_crtc; c++) {
+ xf86CrtcPtr crtc = config->crtc[c];
+
+ if (crtc->rotatedPixmap || crtc->rotatedData) {
+ crtc->funcs->shadow_destroy(crtc, crtc->rotatedPixmap,
+ crtc->rotatedData);
+ crtc->rotatedPixmap = NULL;
+ crtc->rotatedData = NULL;
+ }
+ }
+}
+
+_X_EXPORT void
xf86RotateCloseScreen (ScreenPtr screen)
{
ScrnInfoPtr scrn = xf86Screens[screen->myNum];
@@ -580,6 +597,10 @@
}
else
{
+ int width, height, old_width, old_height;
+ void *shadowData;
+ PixmapPtr shadow;
+
PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, F(crtc->x), F(crtc->y));
PictureTransformIsInverse ("offset", &crtc_to_fb, &fb_to_crtc);
@@ -588,12 +609,12 @@
* matches the mode, not the pre-rotated copy in the
* frame buffer
*/
- int width = mode->HDisplay;
- int height = mode->VDisplay;
- void *shadowData = crtc->rotatedData;
- PixmapPtr shadow = crtc->rotatedPixmap;
- int old_width = shadow ? shadow->drawable.width : 0;
- int old_height = shadow ? shadow->drawable.height : 0;
+ width = mode->HDisplay;
+ height = mode->VDisplay;
+ shadowData = crtc->rotatedData;
+ shadow = crtc->rotatedPixmap;
+ old_width = shadow ? shadow->drawable.width : 0;
+ old_height = shadow ? shadow->drawable.height : 0;
/* Allocate memory for rotation */
if (old_width != width || old_height != height)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/configure.ac new/xf86-video-nv-2.1.12/configure.ac
--- old/xf86-video-nv-2.1.10/configure.ac 2008-07-01 01:26:05.000000000 +0200
+++ new/xf86-video-nv-2.1.12/configure.ac 2008-08-28 20:20:11.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-nv],
- 2.1.10,
+ 2.1.12,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-nv)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/g80_display.c new/xf86-video-nv-2.1.12/src/g80_display.c
--- old/xf86-video-nv-2.1.10/src/g80_display.c 2008-04-28 23:45:39.000000000 +0200
+++ new/xf86-video-nv-2.1.12/src/g80_display.c 2008-08-25 18:59:45.000000000 +0200
@@ -191,15 +191,14 @@
if(super) {
if(super == 2) {
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
- const CARD32 r = pNv->reg[0x00610030/4];
int i;
for(i = 0; i < xf86_config->num_crtc; i++)
{
xf86CrtcPtr crtc = xf86_config->crtc[i];
- G80CrtcPrivPtr pPriv = crtc->driver_private;
+ const int headOff = 0x800 * G80CrtcGetHead(crtc);
- if(r & (0x200 << pPriv->head))
+ if((pNv->reg[(0x00614200+headOff)/4] & 0xc0) == 0x80)
G80CrtcSetPClk(crtc);
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/g80_driver.c new/xf86-video-nv-2.1.12/src/g80_driver.c
--- old/xf86-video-nv-2.1.10/src/g80_driver.c 2008-05-10 03:08:22.000000000 +0200
+++ new/xf86-video-nv-2.1.12/src/g80_driver.c 2008-08-05 00:08:54.000000000 +0200
@@ -914,13 +914,6 @@
Must precede creation of the default colormap */
miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
- /* Initialize hardware cursor. Must follow software cursor initialization. */
- if(pNv->HWCursor && !G80CursorInit(pScreen)) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "Hardware cursor initialization failed\n");
- pNv->HWCursor = FALSE;
- }
-
/* Initialize default colormap */
if(!miCreateDefColormap(pScreen))
return FALSE;
@@ -949,6 +942,13 @@
if(!AcquireDisplay(pScrn))
return FALSE;
+ /* Initialize hardware cursor. Must follow software cursor initialization. */
+ if(pNv->HWCursor && !G80CursorInit(pScreen)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Hardware cursor initialization failed\n");
+ pNv->HWCursor = FALSE;
+ }
+
pScreen->SaveScreen = G80SaveScreen;
pNv->CloseScreen = pScreen->CloseScreen;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/g80_exa.c new/xf86-video-nv-2.1.12/src/g80_exa.c
--- old/xf86-video-nv-2.1.10/src/g80_exa.c 2008-01-30 02:55:22.000000000 +0100
+++ new/xf86-video-nv-2.1.12/src/g80_exa.c 2008-08-05 00:09:05.000000000 +0200
@@ -109,7 +109,7 @@
if(pPixmap->drawable.depth > 24) return FALSE;
if(!setDst(pNv, pPixmap)) return FALSE;
G80DmaStart(pNv, 0x2ac, 1);
- G80DmaNext (pNv, 1);
+ G80DmaNext (pNv, 4);
G80SetRopSolid(pNv, alu, planemask);
G80DmaStart(pNv, 0x580, 1);
G80DmaNext (pNv, 4);
@@ -160,7 +160,7 @@
if(alu == GXcopy && planemask == ~0) {
G80DmaNext (pNv, 3);
} else {
- G80DmaNext (pNv, 1);
+ G80DmaNext (pNv, 4);
G80SetRopSolid(pNv, alu, planemask);
}
pNv->DMAKickoffCallback = G80DMAKickoffCallback;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/g80_output.c new/xf86-video-nv-2.1.12/src/g80_output.c
--- old/xf86-video-nv-2.1.10/src/g80_output.c 2008-06-30 22:31:20.000000000 +0200
+++ new/xf86-video-nv-2.1.12/src/g80_output.c 2008-08-25 18:59:45.000000000 +0200
@@ -191,8 +191,12 @@
}
xf86DrvMsg(scrnIndex, X_PROBED, "Connector map:\n");
- if(pNv->lvds.present)
- xf86DrvMsg(scrnIndex, X_PROBED, " [N/A] -> SOR%i (LVDS)\n", pNv->lvds.or);
+ if(pNv->lvds.present) {
+ if (pNv->lvds.i2cPort != -1)
+ xf86DrvMsg(scrnIndex, X_PROBED, " Bus %i -> SOR%i (LVDS)\n", pNv->lvds.i2cPort, pNv->lvds.or);
+ else
+ xf86DrvMsg(scrnIndex, X_PROBED, " [N/A] -> SOR%i (LVDS)\n", pNv->lvds.or);
+ }
for(i = 0; i < G80_NUM_I2C_PORTS; i++) {
if(pNv->i2cMap[i].dac != -1)
xf86DrvMsg(scrnIndex, X_PROBED, " Bus %i -> DAC%i\n", i, pNv->i2cMap[i].dac);
@@ -447,7 +451,6 @@
pPriv->scale = G80_SCALE_ASPECT;
if(pNv->lvds.i2cPort != -1) {
- I2CBusPtr i2c;
char i2cName[16];
snprintf(i2cName, sizeof(i2cName), "I2C%i (LVDS)", pNv->lvds.i2cPort);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/g80_xaa.c new/xf86-video-nv-2.1.12/src/g80_xaa.c
--- old/xf86-video-nv-2.1.10/src/g80_xaa.c 2008-01-30 02:55:22.000000000 +0100
+++ new/xf86-video-nv-2.1.12/src/g80_xaa.c 2008-08-28 20:20:11.000000000 +0200
@@ -95,7 +95,7 @@
}
}
-void inline
+inline void
G80SetClip(G80Ptr pNv, int x, int y, int w, int h)
{
G80DmaStart(pNv, 0x280, 4);
@@ -125,7 +125,7 @@
if(rop == GXcopy && planemask == ~0) {
G80DmaNext (pNv, 3);
} else {
- G80DmaNext (pNv, 1);
+ G80DmaNext (pNv, 4);
G80SetRopSolid(pNv, rop, planemask);
}
pNv->DMAKickoffCallback = G80DMAKickoffCallback;
@@ -177,7 +177,7 @@
G80SetClip(pNv, 0, 0, 0x7fff, 0x7fff);
G80DmaStart(pNv, 0x2ac, 1);
- G80DmaNext (pNv, 1);
+ G80DmaNext (pNv, 4);
G80SetRopSolid(pNv, rop, planemask);
G80DmaStart(pNv, 0x580, 1);
G80DmaNext (pNv, 4);
@@ -235,7 +235,7 @@
G80SetPattern(pNv, bg, fg, patternx, patterny);
G80DmaStart(pNv, 0x2ac, 1);
- G80DmaNext (pNv, 1);
+ G80DmaNext (pNv, 4);
G80DmaStart(pNv, 0x580, 1);
G80DmaNext (pNv, 4);
G80DmaStart(pNv, 0x588, 1);
@@ -353,7 +353,7 @@
if(rop == GXcopy && planemask == ~0) {
G80DmaNext (pNv, 3);
} else {
- G80DmaNext (pNv, 1);
+ G80DmaNext (pNv, 4);
G80SetRopSolid(pNv, rop, planemask);
}
@@ -420,7 +420,7 @@
G80SetClip(pNv, 0, 0, 0x7fff, 0x7fff);
G80DmaStart(pNv, 0x2ac, 1);
- G80DmaNext (pNv, 1);
+ G80DmaNext (pNv, 4);
G80SetRopSolid(pNv, rop, planemask);
G80DmaStart(pNv, 0x580, 1);
G80DmaNext (pNv, 1);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/nv_driver.c new/xf86-video-nv-2.1.12/src/nv_driver.c
--- old/xf86-video-nv-2.1.10/src/nv_driver.c 2008-07-01 01:24:38.000000000 +0200
+++ new/xf86-video-nv-2.1.12/src/nv_driver.c 2008-08-26 22:46:19.000000000 +0200
@@ -113,7 +113,7 @@
#endif
};
-/* Known cards as of 2008/06/16 */
+/* Known cards as of 2008/08/26 */
static SymTabRec NVKnownChipsets[] =
{
@@ -363,6 +363,7 @@
{ 0x10DE0400, "GeForce 8600 GTS" },
{ 0x10DE0401, "GeForce 8600 GT" },
{ 0x10DE0402, "GeForce 8600 GT" },
+ { 0x10DE0403, "GeForce 8600 GS" },
{ 0x10DE0404, "GeForce 8400 GS" },
{ 0x10DE0405, "GeForce 9500M GS" },
{ 0x10DE0407, "GeForce 8600M GT" },
@@ -386,6 +387,7 @@
{ 0x10DE0429, "Quadro NVS 140M" },
{ 0x10DE042A, "Quadro NVS 130M" },
{ 0x10DE042B, "Quadro NVS 135M" },
+ { 0x10DE042C, "GeForce 9400 GT" },
{ 0x10DE042D, "Quadro FX 360M" },
{ 0x10DE042E, "GeForce 9300M G" },
{ 0x10DE042F, "Quadro NVS 290" },
@@ -401,17 +403,27 @@
{ 0x10DE0610, "GeForce 9600 GSO" },
{ 0x10DE0611, "GeForce 8800 GT" },
{ 0x10DE0612, "GeForce 9800 GTX" },
+ { 0x10DE0613, "GeForce 9800 GTK+" },
+ { 0x10DE0614, "GeForce 9800 GT" },
{ 0x10DE061A, "Quadro FX 3700" },
{ 0x10DE061C, "Quadro FX 3600M" },
{ 0x10DE0622, "GeForce 9600 GT" },
+ { 0x10DE0623, "GeForce 9600 GS" },
+ { 0x10DE0628, "GeForce 9800M GTS" },
+ { 0x10DE062A, "GeForce 9700M GTS" },
+ { 0x10DE062C, "GeForce 9800M GTS" },
+ { 0x10DE0640, "GeForce 9500 GT" },
{ 0x10DE0647, "GeForce 9600M GT" },
{ 0x10DE0648, "GeForce 9600M GS" },
{ 0x10DE0649, "GeForce 9600M GT" },
{ 0x10DE064B, "GeForce 9500M G" },
+ { 0x10DE06E1, "GeForce 9300 GS" },
{ 0x10DE06E4, "GeForce 8400 GS" },
{ 0x10DE06E5, "GeForce 9300M GS" },
{ 0x10DE06E8, "GeForce 9200M GS" },
{ 0x10DE06E9, "GeForce 9300M GS" },
+ { 0x10DE06EA, "Quadro NVS 150M" },
+ { 0x10DE06EB, "Quadro NVS 160M" },
{-1, NULL}
};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/nv_hw.c new/xf86-video-nv-2.1.12/src/nv_hw.c
--- old/xf86-video-nv-2.1.10/src/nv_hw.c 2008-06-30 22:22:00.000000000 +0200
+++ new/xf86-video-nv-2.1.12/src/nv_hw.c 2008-08-25 18:59:45.000000000 +0200
@@ -653,6 +653,15 @@
*lwm = graphics_lwm >> 3;
}
+#if XSERVER_LIBPCIACCESS
+static inline uint32_t
+pciaccessReadLong(struct pci_device *const dev, pciaddr_t offset) {
+ uint32_t tmp;
+ pci_device_cfg_read_u32(dev, &tmp, offset);
+ return tmp;
+}
+#endif
+
static void nForceUpdateArbitrationSettings (
unsigned VClk,
unsigned pixelDepth,
@@ -666,8 +675,7 @@
struct pci_device *const dev2 = pci_device_find_by_slot(0, 0, 0, 2);
struct pci_device *const dev3 = pci_device_find_by_slot(0, 0, 0, 3);
struct pci_device *const dev5 = pci_device_find_by_slot(0, 0, 0, 5);
- uint32_t tmp;
- #define READ_LONG(num, offset) ({ pci_device_cfg_read_u32(dev##num, &tmp, (offset)); tmp; })
+# define READ_LONG(num, offset) pciaccessReadLong(dev##num, (offset))
#else
#define READ_LONG(num, offset) pciReadLong(pciTag(0, 0, num), (offset))
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-nv-2.1.10/src/nv_setup.c new/xf86-video-nv-2.1.12/src/nv_setup.c
--- old/xf86-video-nv-2.1.10/src/nv_setup.c 2008-06-22 22:07:31.000000000 +0200
+++ new/xf86-video-nv-2.1.12/src/nv_setup.c 2008-08-25 18:59:45.000000000 +0200
@@ -341,7 +341,10 @@
int FlatPanel = -1; /* really means the CRTC is slaved */
Bool Television = FALSE;
void *tmp;
-
+#if XSERVER_LIBPCIACCESS
+ int err;
+#endif
+
/*
* Override VGA I/O routines.
*/
@@ -371,8 +374,12 @@
pVga->MMIOOffset = 0;
#if XSERVER_LIBPCIACCESS
- pci_device_map_range(pNv->PciInfo, pNv->IOAddress, 0x01000000,
- PCI_DEV_MAP_FLAG_WRITABLE, &tmp);
+ err = pci_device_map_range(pNv->PciInfo, pNv->IOAddress, 0x01000000,
+ PCI_DEV_MAP_FLAG_WRITABLE, &tmp);
+ if (err != 0) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "pci_device_map_range failed: %s\n", strerror(err));
+ }
#else
tmp = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO | VIDMEM_READSIDEEFFECT,
pNv->PciTag, pNv->IOAddress, 0x01000000);
++++++ xf86-video-tga-X11R7.1-1.1.0.tar.bz2 -> xf86-video-tga-1.2.0.tar.bz2 ++++++
++++ 25563 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/config.h.in new/xf86-video-tga-1.2.0/config.h.in
--- old/xf86-video-tga-X11R7.1-1.1.0/config.h.in 2006-05-23 05:51:49.000000000 +0200
+++ new/xf86-video-tga-1.2.0/config.h.in 2008-09-04 00:15:41.000000000 +0200
@@ -32,6 +32,12 @@
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
+/* Have 1bpp support */
+#undef HAVE_XF1BPP
+
+/* Have 4bpp support */
+#undef HAVE_XF4BPP
+
/* Name of package */
#undef PACKAGE
@@ -50,6 +56,15 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Major version of this package */
+#undef PACKAGE_VERSION_MAJOR
+
+/* Minor version of this package */
+#undef PACKAGE_VERSION_MINOR
+
+/* Patch version of this package */
+#undef PACKAGE_VERSION_PATCHLEVEL
+
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/configure.ac new/xf86-video-tga-1.2.0/configure.ac
--- old/xf86-video-tga-X11R7.1-1.1.0/configure.ac 2006-04-07 23:40:34.000000000 +0200
+++ new/xf86-video-tga-1.2.0/configure.ac 2008-09-04 00:15:12.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-tga],
- 1.1.0,
+ 1.2.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-tga)
@@ -59,6 +59,20 @@
sdkdir=$(pkg-config --variable=sdkdir xorg-server)
# Checks for libraries.
+SAVE_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
+AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
+ [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
+ [#include "xorg-server.h"])
+AC_CHECK_HEADER(xf1bpp.h,[AC_DEFINE(HAVE_XF1BPP, 1, [Have 1bpp support])],[])
+AC_CHECK_HEADER(xf4bpp.h,[AC_DEFINE(HAVE_XF4BPP, 1, [Have 4bpp support])],[])
+CPPFLAGS="$SAVE_CPPFLAGS"
+
+if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
+ XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
+fi
+AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
# Checks for header files.
AC_HEADER_STDC
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/missing new/xf86-video-tga-1.2.0/missing
--- old/xf86-video-tga-X11R7.1-1.1.0/missing 2006-05-23 05:51:51.000000000 +0200
+++ new/xf86-video-tga-1.2.0/missing 2008-09-04 00:13:10.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2006-05-10.23
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
@@ -33,6 +33,8 @@
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +46,7 @@
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +79,7 @@
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -106,7 +109,7 @@
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case "$1" in
+case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -135,7 +138,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -164,7 +167,7 @@
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -192,8 +195,8 @@
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -214,25 +217,25 @@
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -244,18 +247,18 @@
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -267,11 +270,9 @@
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -289,11 +290,17 @@
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -317,13 +324,13 @@
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/src/Makefile.am new/xf86-video-tga-1.2.0/src/Makefile.am
--- old/xf86-video-tga-X11R7.1-1.1.0/src/Makefile.am 2005-12-09 08:36:25.000000000 +0100
+++ new/xf86-video-tga-1.2.0/src/Makefile.am 2008-09-04 00:14:09.000000000 +0200
@@ -40,7 +40,8 @@
tga.h \
tga_line.c \
tga_seg.c \
- tga_regs.h
+ tga_regs.h \
+ tga_pcirename.h
tga_seg.c: $(srcdir)/tga_line.c
echo "#define POLYSEGMENT" > tga_seg.c
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/src/tga_driver.c new/xf86-video-tga-1.2.0/src/tga_driver.c
--- old/xf86-video-tga-X11R7.1-1.1.0/src/tga_driver.c 2006-04-07 23:40:34.000000000 +0200
+++ new/xf86-video-tga-1.2.0/src/tga_driver.c 2008-08-19 16:21:51.000000000 +0200
@@ -22,7 +22,6 @@
* Authors: Alan Hourihane,
* Matthew Grossman, - acceleration and misc fixes
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tga/tga_driver.c,v 1.60tsi Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -38,9 +37,6 @@
#include "xf86PciInfo.h"
#include "xf86Pci.h"
-/* module versioning */
-#include "xf86Version.h"
-
/* RAC stuff */
#include "xf86Resources.h"
@@ -118,9 +114,9 @@
#define TGA_VERSION 4000
#define TGA_NAME "TGA"
#define TGA_DRIVER_NAME "tga"
-#define TGA_MAJOR_VERSION 1
-#define TGA_MINOR_VERSION 1
-#define TGA_PATCHLEVEL 0
+#define TGA_MAJOR_VERSION PACKAGE_VERSION_MAJOR
+#define TGA_MINOR_VERSION PACKAGE_VERSION_MINOR
+#define TGA_PATCHLEVEL PACKAGE_VERSION_PATCHLEVEL
/*
* This contains the functions needed by the server after loading the driver
@@ -371,6 +367,7 @@
* All of the cards this driver supports are PCI, so the "probing" just
* amounts to checking the PCI data that the server has already collected.
*/
+#ifndef XSERVER_LIBPCIACCESS
if (xf86GetPciVideoInfo() == NULL) {
/*
* We won't let anything in the config file override finding no
@@ -378,6 +375,7 @@
*/
return FALSE;
}
+#endif
numUsed = xf86MatchPciInstances(TGA_NAME, PCI_VENDOR_DIGITAL,
TGAChipsets, TGAPciChipsets, devSections, numDevSections,
@@ -512,9 +510,11 @@
if (pTga->pEnt->location.type == BUS_PCI) {
pciPtr = xf86GetPciInfoForEntity(pTga->pEnt->index);
pTga->PciInfo = pciPtr;
+#ifndef XSERVER_LIBPCIACCESS
pTga->PciTag = pciTag(pTga->PciInfo->bus,
pTga->PciInfo->device,
pTga->PciInfo->func);
+#endif
}
else
return FALSE;
@@ -538,8 +538,10 @@
from = X_PROBED;
xf86DrvMsg(pScrn->scrnIndex, from, "Chipset: \"%s\"\n", pScrn->chipset);
+#ifndef XSERVER_LIBPCIACCESS
pTga->PciTag = pciTag(pTga->PciInfo->bus, pTga->PciInfo->device,
pTga->PciInfo->func);
+#endif
@@ -672,7 +674,7 @@
pTga->CardAddress = pTga->pEnt->device->MemBase;
from = X_CONFIG;
} else {
- pTga->CardAddress = pTga->PciInfo->memBase[0] & 0xFFC00000;/*??*/
+ pTga->CardAddress = PCI_REGION_BASE(pTga->PciInfo, 0, REGION_MEM) & 0xFFC00000;/*??*/
}
pTga->FbAddress = pTga->CardAddress;
@@ -708,17 +710,53 @@
switch (pTga->Chipset)
{
case PCI_CHIP_TGA2:
+#ifndef XSERVER_LIBPCIACCESS
Base = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
pTga->PciTag, pTga->IOAddress, 0x1000);
+
+#else
+ {
+ void** result = (void**)&Base;
+ int err = pci_device_map_range(pTga->PciInfo,
+ pTga->IOAddress,
+ 0x1000,
+ PCI_DEV_MAP_FLAG_WRITABLE,
+ result);
+ if (err)
+ return FALSE;
+ }
+#endif
pTga->CardType = (*(unsigned int *)((char *)Base+TGA_REVISION_REG) >> 21) & 0x3;
pTga->CardType ^= (pTga->CardType == 1) ? 0 : 3;
+
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, Base, 0x1000);
+#else
+ pci_device_unmap_range(pTga->PciInfo, Base, 0x1000);
+#endif
break;
case PCI_CHIP_DEC21030:
+#ifndef XSERVER_LIBPCIACCESS
Base = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
pTga->PciTag, pTga->FbAddress, 4);
+#else
+ {
+ void** result = (void**)&Base;
+ int err = pci_device_map_range(pTga->PciInfo,
+ pTga->FbAddress,
+ 0x4,
+ PCI_DEV_MAP_FLAG_WRITABLE,
+ result);
+ if (err)
+ return FALSE;
+ }
+#endif
pTga->CardType = (*(unsigned int *)Base >> 12) & 0xf;
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, Base, 4);
+#else
+ pci_device_unmap_range(pTga->PciInfo, Base, 4);
+#endif
break;
}
}
@@ -1008,34 +1046,87 @@
/* TGA doesn't need a sparse memory mapping, because all register
accesses are doublewords */
-
+
+#ifndef XSERVER_LIBPCIACCESS
pTga->IOBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
pTga->PciTag,
pTga->IOAddress, 0x100000);
+#else
+ {
+ void** result = (void**)&pTga->IOBase;
+ int err = pci_device_map_range(pTga->PciInfo,
+ pTga->IOAddress,
+ 0x100000,
+ PCI_DEV_MAP_FLAG_WRITABLE,
+ result);
+ if (err)
+ return FALSE;
+ }
+#endif
if (pTga->IOBase == NULL)
return FALSE;
+#ifndef XSERVER_LIBPCIACCESS
pTga->FbBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
pTga->PciTag,
(unsigned long)pTga->FbAddress,
pTga->FbMapSize);
+#else
+ {
+ void** result = (void**)&pTga->FbBase;
+ int err = pci_device_map_range(pTga->PciInfo,
+ pTga->FbAddress,
+ pTga->FbMapSize,
+ PCI_DEV_MAP_FLAG_WRITABLE |
+ PCI_DEV_MAP_FLAG_WRITE_COMBINE,
+ result);
+ if (err)
+ return FALSE;
+ }
+#endif
if (pTga->FbBase == NULL)
return FALSE;
if (pTga->Chipset == PCI_CHIP_DEC21030)
return TRUE;
+#ifndef XSERVER_LIBPCIACCESS
pTga->ClkBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
pTga->PciTag,
(unsigned long)pTga->CardAddress + TGA2_CLOCK_OFFSET,
0x10000);
+#else
+ {
+ void** result = (void**)&pTga->ClkBase;
+ int err = pci_device_map_range(pTga->PciInfo,
+ pTga->CardAddress + TGA2_CLOCK_OFFSET,
+ 0x10000,
+ PCI_DEV_MAP_FLAG_WRITABLE,
+ result);
+ if (err)
+ return FALSE;
+ }
+#endif
if (pTga->ClkBase == NULL)
return FALSE;
+#ifndef XSERVER_LIBPCIACCESS
pTga->DACBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_MMIO_32BIT,
pTga->PciTag,
(unsigned long)pTga->CardAddress + TGA2_RAMDAC_OFFSET,
0x10000);
+#else
+ {
+ void** result = (void**)&pTga->DACBase;
+ int err = pci_device_map_range(pTga->PciInfo,
+ pTga->CardAddress + TGA2_RAMDAC_OFFSET,
+ 0x10000,
+ PCI_DEV_MAP_FLAG_WRITABLE,
+ result);
+ if (err)
+ return FALSE;
+ }
+#endif
if (pTga->DACBase == NULL)
return FALSE;
@@ -1053,10 +1144,25 @@
* framebuffer memory in front of the normal mmap to prevent
* SEGVs from happening.
*/
+#ifndef XSERVER_LIBPCIACCESS
pTga->HACKBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
pTga->PciTag,
(unsigned long)pTga->FbAddress - getpagesize(),
getpagesize());
+#else
+ {
+ void** result = (void**)&pTga->DACBase;
+ int err = pci_device_map_range(pTga->PciInfo,
+ pTga->FbAddress - getpagesize(),
+ getpagesize(),
+ PCI_DEV_MAP_FLAG_WRITABLE |
+ PCI_DEV_MAP_FLAG_WRITE_COMBINE,
+ result);
+ if (err)
+ return FALSE;
+ }
+#endif
+
if (pTga->HACKBase == NULL)
return FALSE;
@@ -1075,22 +1181,42 @@
pTga = TGAPTR(pScrn);
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->IOBase, 0x100000);
+#else
+ pci_device_unmap_range(pTga->PciInfo, pTga->IOBase, 0x100000);
+#endif
pTga->IOBase = NULL;
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->FbBase, pTga->FbMapSize);
+#else
+ pci_device_unmap_range(pTga->PciInfo, pTga->FbBase, pTga->FbMapSize);
+#endif
pTga->FbBase = NULL;
if (pTga->Chipset == PCI_CHIP_DEC21030)
return TRUE;
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->ClkBase, 0x10000);
+#else
+ pci_device_unmap_range(pTga->PciInfo, pTga->ClkBase, 0x10000);
+#endif
pTga->ClkBase = NULL;
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->DACBase, 0x10000);
+#else
+ pci_device_unmap_range(pTga->PciInfo, pTga->DACBase, 0x10000);
+#endif
pTga->DACBase = NULL;
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pTga->HACKBase, getpagesize());
+#else
+ pci_device_unmap_range(pTga->PciInfo, pTga->HACKBase, getpagesize());
+#endif
pTga->HACKBase = NULL;
return TRUE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/src/tga.h new/xf86-video-tga-1.2.0/src/tga.h
--- old/xf86-video-tga-X11R7.1-1.1.0/src/tga.h 2004-04-23 21:50:24.000000000 +0200
+++ new/xf86-video-tga-1.2.0/src/tga.h 2008-08-19 16:21:39.000000000 +0200
@@ -21,11 +21,12 @@
*
* Authors: Alan Hourihane,
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tga/tga.h,v 1.17 2001/05/04 19:05:47 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tga/tga.h,v 1.18 2001/11/21 22:32:58 alanh Exp $ */
#ifndef _TGA_H_
#define _TGA_H_
+#include "tga_pcirename.h"
#include "xaa.h"
#include "xf86RamDac.h"
@@ -33,12 +34,15 @@
unsigned long tgaRegs[0x100];
} TGARegRec, *TGARegPtr;
+#define TGA_OLDPRIV (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 4)
#define TGAPTR(p) ((TGAPtr)((p)->driverPrivate))
typedef struct {
pciVideoPtr PciInfo;
+#ifndef XSERVER_LIBPCIACCESS
PCITAG PciTag;
+#endif
int Chipset;
RamDacHelperRecPtr RamDac;
int ChipRev;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/src/tga_line.c new/xf86-video-tga-1.2.0/src/tga_line.c
--- old/xf86-video-tga-X11R7.1-1.1.0/src/tga_line.c 2006-04-07 23:40:34.000000000 +0200
+++ new/xf86-video-tga-1.2.0/src/tga_line.c 2008-08-19 16:21:39.000000000 +0200
@@ -416,7 +416,11 @@
#endif
){
XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_GC(pGC);
+#if TGA_OLDPRIV
XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGetGCIndex()].ptr;
+#else
+ XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey());
+#endif
BoxPtr pboxInit = REGION_RECTS(pGC->pCompositeClip);
int nboxInit = REGION_NUM_RECTS(pGC->pCompositeClip);
unsigned int bias = miGetZeroLineBias(pDrawable->pScreen);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-tga-X11R7.1-1.1.0/src/tga_pcirename.h new/xf86-video-tga-1.2.0/src/tga_pcirename.h
--- old/xf86-video-tga-X11R7.1-1.1.0/src/tga_pcirename.h 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-video-tga-1.2.0/src/tga_pcirename.h 2008-08-19 16:21:39.000000000 +0200
@@ -0,0 +1,122 @@
+/*
+ * Copyright 2007 George Sapountzis
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/**
+ * Macros for porting drivers from legacy xfree86 PCI code to the pciaccess
+ * library. The main purpose being to facilitate source code compatibility.
+ */
+
+#ifndef CIRPCIRENAME_H
+#define CIRPCIRENAME_H
+
+enum region_type {
+ REGION_MEM,
+ REGION_IO
+};
+
+#ifndef XSERVER_LIBPCIACCESS
+
+/* pciVideoPtr */
+#define PCI_DEV_VENDOR_ID(_pcidev) ((_pcidev)->vendor)
+#define PCI_DEV_DEVICE_ID(_pcidev) ((_pcidev)->chipType)
+#define PCI_DEV_REVISION(_pcidev) ((_pcidev)->chipRev)
+
+#define PCI_SUB_VENDOR_ID(_pcidev) ((_pcidev)->subsysVendor)
+#define PCI_SUB_DEVICE_ID(_pcidev) ((_pcidev)->subsysCard)
+
+#define PCI_DEV_TAG(_pcidev) pciTag((_pcidev)->bus, \
+ (_pcidev)->device, \
+ (_pcidev)->func)
+#define PCI_DEV_BUS(_pcidev) ((_pcidev)->bus)
+#define PCI_DEV_DEV(_pcidev) ((_pcidev)->device)
+#define PCI_DEV_FUNC(_pcidev) ((_pcidev)->func)
+
+/* pciConfigPtr */
+#define PCI_CFG_TAG(_pcidev) (((pciConfigPtr)(_pcidev)->thisCard)->tag)
+#define PCI_CFG_BUS(_pcidev) (((pciConfigPtr)(_pcidev)->thisCard)->busnum)
+#define PCI_CFG_DEV(_pcidev) (((pciConfigPtr)(_pcidev)->thisCard)->devnum)
+#define PCI_CFG_FUNC(_pcidev) (((pciConfigPtr)(_pcidev)->thisCard)->funcnum)
+
+/* region addr: xfree86 uses different fields for memory regions and I/O ports */
+#define PCI_REGION_BASE(_pcidev, _b, _type) \
+ (((_type) == REGION_MEM) ? (_pcidev)->memBase[(_b)] \
+ : (_pcidev)->ioBase[(_b)])
+
+/* region size: xfree86 uses the log2 of the region size,
+ * but with zero meaning no region, not size of one XXX */
+#define PCI_REGION_SIZE(_pcidev, _b) \
+ (((_pcidev)->size[(_b)] > 0) ? (1 << (_pcidev)->size[(_b)]) : 0)
+
+/* read/write PCI configuration space */
+#define PCI_READ_BYTE(_pcidev, _value_ptr, _offset) \
+ *(_value_ptr) = pciReadByte(PCI_CFG_TAG(_pcidev), (_offset))
+
+#define PCI_READ_LONG(_pcidev, _value_ptr, _offset) \
+ *(_value_ptr) = pciReadLong(PCI_CFG_TAG(_pcidev), (_offset))
+
+#define PCI_WRITE_LONG(_pcidev, _value, _offset) \
+ pciWriteLong(PCI_CFG_TAG(_pcidev), (_offset), (_value))
+
+#else /* XSERVER_LIBPCIACCESS */
+
+typedef struct pci_device *pciVideoPtr;
+
+#define PCI_DEV_VENDOR_ID(_pcidev) ((_pcidev)->vendor_id)
+#define PCI_DEV_DEVICE_ID(_pcidev) ((_pcidev)->device_id)
+#define PCI_DEV_REVISION(_pcidev) ((_pcidev)->revision)
+
+#define PCI_SUB_VENDOR_ID(_pcidev) ((_pcidev)->subvendor_id)
+#define PCI_SUB_DEVICE_ID(_pcidev) ((_pcidev)->subdevice_id)
+
+/* pci-rework functions take a 'pci_device' parameter instead of a tag */
+#define PCI_DEV_TAG(_pcidev) (_pcidev)
+
+/* PCI_DEV macros, typically used in printf's, add domain ? XXX */
+#define PCI_DEV_BUS(_pcidev) ((_pcidev)->bus)
+#define PCI_DEV_DEV(_pcidev) ((_pcidev)->dev)
+#define PCI_DEV_FUNC(_pcidev) ((_pcidev)->func)
+
+/* pci-rework functions take a 'pci_device' parameter instead of a tag */
+#define PCI_CFG_TAG(_pcidev) (_pcidev)
+
+/* PCI_CFG macros, typically used in DRI init, contain the domain */
+#define PCI_CFG_BUS(_pcidev) (((_pcidev)->domain << 8) | \
+ (_pcidev)->bus)
+#define PCI_CFG_DEV(_pcidev) ((_pcidev)->dev)
+#define PCI_CFG_FUNC(_pcidev) ((_pcidev)->func)
+
+#define PCI_REGION_BASE(_pcidev, _b, _type) ((_pcidev)->regions[(_b)].base_addr)
+#define PCI_REGION_SIZE(_pcidev, _b) ((_pcidev)->regions[(_b)].size)
+
+#define PCI_READ_BYTE(_pcidev, _value_ptr, _offset) \
+ pci_device_cfg_read_u8((_pcidev), (_value_ptr), (_offset))
+
+#define PCI_READ_LONG(_pcidev, _value_ptr, _offset) \
+ pci_device_cfg_read_u32((_pcidev), (_value_ptr), (_offset))
+
+#define PCI_WRITE_LONG(_pcidev, _value, _offset) \
+ pci_device_cfg_write_u32((_pcidev), (_value), (_offset))
+
+#endif /* XSERVER_LIBPCIACCESS */
+
+#endif /* CIRPCIRENAME_H */
++++++ xf86-video-vmware-10.16.3.tar.bz2 -> xf86-video-vmware-10.16.5.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-vmware-10.16.3/configure new/xf86-video-vmware-10.16.5/configure
--- old/xf86-video-vmware-10.16.3/configure 2008-07-18 23:00:54.000000000 +0200
+++ new/xf86-video-vmware-10.16.5/configure 2008-08-19 20:30:19.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xf86-video-vmware 10.16.3.
+# Generated by GNU Autoconf 2.61 for xf86-video-vmware 10.16.5.
#
# Report bugs to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-video-vmware'
PACKAGE_TARNAME='xf86-video-vmware'
-PACKAGE_VERSION='10.16.3'
-PACKAGE_STRING='xf86-video-vmware 10.16.3'
+PACKAGE_VERSION='10.16.5'
+PACKAGE_STRING='xf86-video-vmware 10.16.5'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am"
@@ -1419,7 +1419,7 @@
# 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.
cat <<_ACEOF
-\`configure' configures xf86-video-vmware 10.16.3 to adapt to many kinds of systems.
+\`configure' configures xf86-video-vmware 10.16.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1489,7 +1489,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-vmware 10.16.3:";;
+ short | recursive ) echo "Configuration of xf86-video-vmware 10.16.5:";;
esac
cat <<\_ACEOF
@@ -1605,7 +1605,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-vmware configure 10.16.3
+xf86-video-vmware configure 10.16.5
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1619,7 +1619,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-vmware $as_me 10.16.3, which was
+It was created by xf86-video-vmware $as_me 10.16.5, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2294,7 +2294,7 @@
# Define the identity of the package.
PACKAGE='xf86-video-vmware'
- VERSION='10.16.3'
+ VERSION='10.16.5'
cat >>confdefs.h <<_ACEOF
@@ -21642,7 +21642,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-vmware $as_me 10.16.3, which was
+This file was extended by xf86-video-vmware $as_me 10.16.5, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21695,7 +21695,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xf86-video-vmware config.status 10.16.3
+xf86-video-vmware config.status 10.16.5
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-vmware-10.16.3/configure.ac new/xf86-video-vmware-10.16.5/configure.ac
--- old/xf86-video-vmware-10.16.3/configure.ac 2008-07-18 23:00:31.000000000 +0200
+++ new/xf86-video-vmware-10.16.5/configure.ac 2008-08-19 20:23:31.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-vmware],
- 10.16.3,
+ 10.16.5,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-vmware)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-vmware-10.16.3/src/vmware.c new/xf86-video-vmware-10.16.5/src/vmware.c
--- old/xf86-video-vmware-10.16.3/src/vmware.c 2008-07-18 23:00:45.000000000 +0200
+++ new/xf86-video-vmware-10.16.5/src/vmware.c 2008-08-19 20:23:40.000000000 +0200
@@ -83,7 +83,7 @@
#define VMWARE_DRIVER_NAME "vmware"
#define VMWARE_MAJOR_VERSION 10
#define VMWARE_MINOR_VERSION 16
-#define VMWARE_PATCHLEVEL 3
+#define VMWARE_PATCHLEVEL 5
#define VMWARE_DRIVER_VERSION \
(VMWARE_MAJOR_VERSION * 65536 + VMWARE_MINOR_VERSION * 256 + VMWARE_PATCHLEVEL)
#define VMWARE_DRIVER_VERSION_STRING \
@@ -1447,6 +1447,59 @@
}
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * vmwareIsRegionEqual --
+ *
+ * This function implements REGION_EQUAL because older versions of
+ * regionstr.h don't define it.
+ * It is a slightly modified version of miRegionEqual from $Xorg: miregion.c
+ *
+ * Results:
+ * TRUE if regions are equal; FALSE otherwise
+ *
+ * Side effects:
+ * None.
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+Bool
+vmwareIsRegionEqual(const RegionPtr reg1,
+ const RegionPtr reg2)
+{
+ int i, num;
+ BoxPtr rects1, rects2;
+
+ if ((reg1->extents.x1 != reg2->extents.x1) ||
+ (reg1->extents.x2 != reg2->extents.x2) ||
+ (reg1->extents.y1 != reg2->extents.y1) ||
+ (reg1->extents.y2 != reg2->extents.y2)) {
+ return FALSE;
+ }
+
+ num = REGION_NUM_RECTS(reg1);
+ if (num != REGION_NUM_RECTS(reg2)) {
+ return FALSE;
+ }
+
+ rects1 = REGION_RECTS(reg1);
+ rects2 = REGION_RECTS(reg2);
+
+ for (i = 0; i < num; i++) {
+ if ((rects1[i].x1 != rects2[i].x1) ||
+ (rects1[i].x2 != rects2[i].x2) ||
+ (rects1[i].y1 != rects2[i].y1) ||
+ (rects1[i].y2 != rects2[i].y2)) {
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+
#if VMWARE_DRIVER_FUNC
static Bool
VMWareDriverFunc(ScrnInfoPtr pScrn,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-vmware-10.16.3/src/vmware.h new/xf86-video-vmware-10.16.5/src/vmware.h
--- old/xf86-video-vmware-10.16.3/src/vmware.h 2008-07-18 22:58:25.000000000 +0200
+++ new/xf86-video-vmware-10.16.5/src/vmware.h 2008-08-19 20:22:33.000000000 +0200
@@ -243,6 +243,11 @@
int height
);
+Bool vmwareIsRegionEqual(
+ const RegionPtr reg1,
+ const RegionPtr reg2
+ );
+
/* vmwarecurs.c */
Bool vmwareCursorInit(
ScreenPtr pScr
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-vmware-10.16.3/src/vmwarevideo.c new/xf86-video-vmware-10.16.5/src/vmwarevideo.c
--- old/xf86-video-vmware-10.16.3/src/vmwarevideo.c 2008-07-18 22:58:58.000000000 +0200
+++ new/xf86-video-vmware-10.16.5/src/vmwarevideo.c 2008-08-19 20:22:33.000000000 +0200
@@ -165,7 +165,7 @@
uint32 colorKey;
Bool isAutoPaintColorkey;
uint32 flags;
- BoxRec position;
+ RegionRec clipBoxes;
VMWAREVideoFmtData *fmt_priv;
};
@@ -226,8 +226,6 @@
static void vmwareVideoSetOneReg(VMWAREPtr pVMWARE, uint32 streamId,
uint32 regId, uint32 value);
static void vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid);
-static Bool vmwareVideoMoved(VMWAREVideoPtr pVid, short drw_x,
- short drw_y, short drw_w, short drw_h);
/*
* Offscreen memory manager functions
@@ -395,7 +393,8 @@
*-----------------------------------------------------------------------------
*/
-Bool vmwareVideoEnabled(VMWAREPtr pVMWARE)
+Bool
+vmwareVideoEnabled(VMWAREPtr pVMWARE)
{
return ((pVMWARE->vmwareCapability & SVGA_CAP_EXTENDED_FIFO) &&
(pVMWARE->vmwareFIFO[SVGA_FIFO_CAPABILITIES] &
@@ -420,7 +419,8 @@
*-----------------------------------------------------------------------------
*/
-Bool vmwareVideoInit(ScreenPtr pScreen)
+Bool
+vmwareVideoInit(ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = infoFromScreen(pScreen);
XF86VideoAdaptorPtr *overlayAdaptors, *newAdaptors = NULL;
@@ -488,7 +488,8 @@
*-----------------------------------------------------------------------------
*/
-void vmwareVideoEnd(ScreenPtr pScreen)
+void
+vmwareVideoEnd(ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = infoFromScreen(pScreen);
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
@@ -528,7 +529,8 @@
*-----------------------------------------------------------------------------
*/
-static XF86VideoAdaptorPtr vmwareVideoSetup(ScrnInfoPtr pScrn)
+static XF86VideoAdaptorPtr
+vmwareVideoSetup(ScrnInfoPtr pScrn)
{
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
XF86VideoAdaptorPtr adaptor;
@@ -616,12 +618,13 @@
*-----------------------------------------------------------------------------
*/
-static int vmwareVideoInitStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid,
- short src_x, short src_y, short drw_x,
- short drw_y, short src_w, short src_h,
- short drw_w, short drw_h, int format,
- unsigned char *buf, short width,
- short height, RegionPtr clipBoxes)
+static int
+vmwareVideoInitStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid,
+ short src_x, short src_y, short drw_x,
+ short drw_y, short src_w, short src_h,
+ short drw_w, short drw_h, int format,
+ unsigned char *buf, short width,
+ short height, RegionPtr clipBoxes)
{
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
int i;
@@ -660,10 +663,7 @@
}
pVid->currBuf = 0;
- pVid->position.x1 = drw_x;
- pVid->position.y1 = drw_y;
- pVid->position.x2 = drw_w;
- pVid->position.y2 = drw_h;
+ REGION_COPY(pScrn->pScreen, &pVid->clipBoxes, clipBoxes);
if (pVid->isAutoPaintColorkey) {
xf86XVFillKeyHelper(pScrn->pScreen, pVid->colorKey, clipBoxes);
@@ -694,9 +694,10 @@
*-----------------------------------------------------------------------------
*/
-static int vmwareVideoInitAttributes(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid,
- int format, unsigned short width,
- unsigned short height)
+static int
+vmwareVideoInitAttributes(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid,
+ int format, unsigned short width,
+ unsigned short height)
{
int size;
VMWAREVideoFmtData *fmtData;
@@ -737,12 +738,13 @@
*-----------------------------------------------------------------------------
*/
-static int vmwareVideoPlay(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid,
- short src_x, short src_y, short drw_x,
- short drw_y, short src_w, short src_h,
- short drw_w, short drw_h, int format,
- unsigned char *buf, short width,
- short height, RegionPtr clipBoxes)
+static int
+vmwareVideoPlay(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid,
+ short src_x, short src_y, short drw_x,
+ short drw_y, short src_w, short src_h,
+ short drw_w, short drw_h, int format,
+ unsigned char *buf, short width,
+ short height, RegionPtr clipBoxes)
{
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
uint32 *fifoItem;
@@ -828,21 +830,18 @@
vmwareWriteWordToFIFO(pVMWARE, fifoItem[i]);
}
- if (pVid->isAutoPaintColorkey &&
- vmwareVideoMoved(pVid, drw_x, drw_y, drw_w, drw_h)) {
- xf86XVFillKeyHelper(pScrn->pScreen, pVid->colorKey, clipBoxes);
+ /*
+ * Update the clipList and paint the colorkey, if required.
+ */
+ if (!vmwareIsRegionEqual(&pVid->clipBoxes, clipBoxes)) {
+ REGION_COPY(pScrn->pScreen, &pVid->clipBoxes, clipBoxes);
+ if (pVid->isAutoPaintColorkey) {
+ xf86XVFillKeyHelper(pScrn->pScreen, pVid->colorKey, clipBoxes);
+ }
}
vmwareVideoFlush(pVMWARE, pVid->streamId);
- /*
- * Update the position of the video frame.
- */
- pVid->position.x1 = drw_x;
- pVid->position.y1 = drw_y;
- pVid->position.x2 = drw_w;
- pVid->position.y2 = drw_h;
-
pVid->currBuf = ++pVid->currBuf & (VMWARE_VID_NUM_BUFFERS - 1);
return Success;
@@ -866,7 +865,8 @@
*-----------------------------------------------------------------------------
*/
-static void vmwareVideoFlush(VMWAREPtr pVMWARE, uint32 streamId)
+static void
+vmwareVideoFlush(VMWAREPtr pVMWARE, uint32 streamId)
{
struct PACKED _body {
uint32 escape;
@@ -912,8 +912,9 @@
*-----------------------------------------------------------------------------
*/
-static void vmwareVideoSetOneReg(VMWAREPtr pVMWARE, uint32 streamId,
- uint32 regId, uint32 value)
+static void
+vmwareVideoSetOneReg(VMWAREPtr pVMWARE, uint32 streamId,
+ uint32 regId, uint32 value)
{
struct PACKED _item {
uint32 regId;
@@ -968,7 +969,8 @@
*-----------------------------------------------------------------------------
*/
-static void vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid)
+static void
+vmwareVideoEndStream(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid)
{
uint32 id, colorKey, flags;
Bool isAutoPaintColorkey;
@@ -1005,32 +1007,6 @@
/*
*-----------------------------------------------------------------------------
*
- * vmwareVideoMoved --
- *
- * Detects whether the video frame has changed its position.
- *
- * Results:
- * TRUE if the position has changed, FALSE otherwise.
- *
- * Side effects:
- * None.
- *
- *-----------------------------------------------------------------------------
- */
-
-static Bool vmwareVideoMoved(VMWAREVideoPtr pVid, short drw_x,
- short drw_y, short drw_w, short drw_h)
-{
- return !(pVid->position.x1 == drw_x &&
- pVid->position.y1 == drw_y &&
- pVid->position.x2 == drw_w &&
- pVid->position.y2 == drw_h);
-}
-
-
-/*
- *-----------------------------------------------------------------------------
- *
* vmwareXvPutImage --
*
* Main video playback function. It copies the passed data which is in
@@ -1053,18 +1029,20 @@
*/
#ifdef HAVE_XORG_SERVER_1_0_99_901
-static int vmwareXvPutImage(ScrnInfoPtr pScrn, short src_x, short src_y,
- short drw_x, short drw_y, short src_w, short src_h,
- short drw_w, short drw_h, int format,
- unsigned char *buf, short width, short height,
- Bool sync, RegionPtr clipBoxes, pointer data,
- DrawablePtr dst)
+static int
+vmwareXvPutImage(ScrnInfoPtr pScrn, short src_x, short src_y,
+ short drw_x, short drw_y, short src_w, short src_h,
+ short drw_w, short drw_h, int format,
+ unsigned char *buf, short width, short height,
+ Bool sync, RegionPtr clipBoxes, pointer data,
+ DrawablePtr dst)
#else
-static int vmwareXvPutImage(ScrnInfoPtr pScrn, short src_x, short src_y,
- short drw_x, short drw_y, short src_w, short src_h,
- short drw_w, short drw_h, int format,
- unsigned char *buf, short width, short height,
- Bool sync, RegionPtr clipBoxes, pointer data)
+static int
+vmwareXvPutImage(ScrnInfoPtr pScrn, short src_x, short src_y,
+ short drw_x, short drw_y, short src_w, short src_h,
+ short drw_w, short drw_h, int format,
+ unsigned char *buf, short width, short height,
+ Bool sync, RegionPtr clipBoxes, pointer data)
#endif
{
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
@@ -1100,7 +1078,8 @@
*-----------------------------------------------------------------------------
*/
-static void vmwareStopVideo(ScrnInfoPtr pScrn, pointer data, Bool Cleanup)
+static void
+vmwareStopVideo(ScrnInfoPtr pScrn, pointer data, Bool Cleanup)
{
VMWAREVideoPtr pVid = data;
VMWAREPtr pVMWARE = VMWAREPTR(pScrn);
@@ -1141,10 +1120,10 @@
*-----------------------------------------------------------------------------
*/
-static int vmwareQueryImageAttributes(ScrnInfoPtr pScrn, int format,
- unsigned short *width,
- unsigned short *height, int *pitches,
- int *offsets)
+static int
+vmwareQueryImageAttributes(ScrnInfoPtr pScrn, int format,
+ unsigned short *width, unsigned short *height,
+ int *pitches, int *offsets)
{
INT32 size, tmp;
@@ -1218,8 +1197,9 @@
*-----------------------------------------------------------------------------
*/
-static int vmwareSetPortAttribute(ScrnInfoPtr pScrn, Atom attribute,
- INT32 value, pointer data)
+static int
+vmwareSetPortAttribute(ScrnInfoPtr pScrn, Atom attribute,
+ INT32 value, pointer data)
{
VMWAREVideoPtr pVid = (VMWAREVideoPtr) data;
Atom xvColorKey = MAKE_ATOM("XV_COLORKEY");
@@ -1257,8 +1237,9 @@
*-----------------------------------------------------------------------------
*/
-static int vmwareGetPortAttribute(ScrnInfoPtr pScrn, Atom attribute,
- INT32 *value, pointer data)
+static int
+vmwareGetPortAttribute(ScrnInfoPtr pScrn, Atom attribute,
+ INT32 *value, pointer data)
{
VMWAREVideoPtr pVid = (VMWAREVideoPtr) data;
Atom xvColorKey = MAKE_ATOM("XV_COLORKEY");
@@ -1301,10 +1282,11 @@
*-----------------------------------------------------------------------------
*/
-static void vmwareQueryBestSize(ScrnInfoPtr pScrn, Bool motion,
- short vid_w, short vid_h, short drw_w,
- short drw_h, unsigned int *p_w,
- unsigned int *p_h, pointer data)
+static void
+vmwareQueryBestSize(ScrnInfoPtr pScrn, Bool motion,
+ short vid_w, short vid_h, short drw_w,
+ short drw_h, unsigned int *p_w,
+ unsigned int *p_h, pointer data)
{
*p_w = (drw_w + 1) & ~1;
*p_h = drw_h;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org