Hello community,

here is the log from the commit of package xf86-video-tdfx for openSUSE:Factory 
checked in at 2012-09-15 17:31:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-tdfx (Old)
 and      /work/SRC/openSUSE:Factory/.xf86-video-tdfx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xf86-video-tdfx", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-tdfx/xf86-video-tdfx.changes  
2012-05-08 12:04:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-video-tdfx.new/xf86-video-tdfx.changes     
2012-09-15 17:31:12.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Sep  2 20:48:03 UTC 2012 - zai...@opensuse.org
+
+- Update to version 1.4.5:
+  + Fix build against XAA-less server.
+  + Port to new compat API.
+
+-------------------------------------------------------------------

Old:
----
  xf86-video-tdfx-1.4.4.tar.bz2

New:
----
  xf86-video-tdfx-1.4.5.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xf86-video-tdfx.spec ++++++
--- /var/tmp/diff_new_pack.fwDDJ4/_old  2012-09-15 17:31:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fwDDJ4/_new  2012-09-15 17:31:13.000000000 +0200
@@ -15,18 +15,19 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           xf86-video-tdfx
-Version:        1.4.4
+Version:        1.4.5
 Release:        0
-License:        MIT
 Summary:        3Dfx video driver for the Xorg X server
-Url:            http://xorg.freedesktop.org/
+License:        MIT
 Group:          System/X11/Servers/XF86_4
+Url:            http://xorg.freedesktop.org/
 Source0:        
http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2
 BuildRequires:  Mesa-devel
 BuildRequires:  pkg-config
-BuildRequires:  pkgconfig(libdrm) >= 2.0
 BuildRequires:  pkgconfig(fontsproto)
+BuildRequires:  pkgconfig(libdrm) >= 2.0
 BuildRequires:  pkgconfig(pciaccess) >= 0.8.0
 BuildRequires:  pkgconfig(randrproto)
 BuildRequires:  pkgconfig(renderproto)

++++++ xf86-video-tdfx-1.4.4.tar.bz2 -> xf86-video-tdfx-1.4.5.tar.bz2 ++++++
++++ 26477 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-tdfx-1.4.4/ChangeLog new/xf86-video-tdfx-1.4.5/ChangeLog
--- old/xf86-video-tdfx-1.4.4/ChangeLog 2012-03-24 04:00:27.000000000 +0100
+++ new/xf86-video-tdfx-1.4.5/ChangeLog 2012-07-17 08:30:49.000000000 +0200
@@ -1,3 +1,27 @@
+commit a1037f73cf5da0ee3fec1867a5f20305d9267e63
+Author: Dave Airlie <airl...@redhat.com>
+Date:   Tue Jul 17 16:05:09 2012 +1000
+
+    xf86-video-tdfx: bump to version 1.4.5
+    
+    Signed-off-by: Dave Airlie <airl...@redhat.com>
+
+commit 42706433782656adcf831588cf9dde203e50402b
+Author: Dave Airlie <airl...@gmail.com>
+Date:   Mon Jul 16 19:01:23 2012 +1000
+
+    tdfx: fix build against XAA-less server.
+    
+    Signed-off-by: Dave Airlie <airl...@redhat.com>
+
+commit abeb6ba8edac356b510ae6e8427c3cb8a0cf6e7a
+Author: Dave Airlie <airl...@redhat.com>
+Date:   Wed Jun 6 19:34:08 2012 +0100
+
+    tdfx: port to new compat API
+    
+    Signed-off-by: Dave Airlie <airl...@redhat.com>
+
 commit 98d24dd99052322c71d1676e6d66c2c724f6066a
 Author: Alan Coopersmith <alan.coopersm...@oracle.com>
 Date:   Fri Mar 23 19:59:33 2012 -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-tdfx-1.4.4/config.h.in new/xf86-video-tdfx-1.4.5/config.h.in
--- old/xf86-video-tdfx-1.4.4/config.h.in       2012-03-24 03:59:48.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/config.h.in       2012-07-17 08:30:49.000000000 
+0200
@@ -32,6 +32,9 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <xaa.h> header file. */
+#undef HAVE_XAA_H
+
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
 #undef LT_OBJDIR
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-tdfx-1.4.4/configure.ac new/xf86-video-tdfx-1.4.5/configure.ac
--- old/xf86-video-tdfx-1.4.4/configure.ac      2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/configure.ac      2012-07-17 08:00:16.000000000 
+0200
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-tdfx],
-        [1.4.4],
+        [1.4.5],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-tdfx])
 AC_CONFIG_SRCDIR([Makefile.am])
@@ -110,6 +110,24 @@
 fi
 AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
 
+AC_ARG_ENABLE(xaa,
+              AS_HELP_STRING([--enable-xaa],
+                             [Enable legacy X Acceleration Architecture (XAA) 
[default=auto]]),
+              [XAA="$enableval"],
+              [XAA=auto])
+if test "x$XAA" != xno; then
+        save_CFLAGS=$CFLAGS
+        save_CPPFLAGS=$CPPFLAGS
+        CFLAGS=$XORG_CFLAGS
+        CPPFLAGS="$XORG_CFLAGS"
+        AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no)
+        CFLAGS=$save_CFLAGS
+        CPPFLAGS=$save_CPPFLAGS
+fi
+AC_MSG_CHECKING([whether to include XAA support])
+AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
+AC_MSG_RESULT([$XAA])
+
 AC_SUBST([moduledir])
 
 DRIVER_NAME=tdfx
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-tdfx-1.4.4/missing new/xf86-video-tdfx-1.4.5/missing
--- old/xf86-video-tdfx-1.4.4/missing   2012-03-24 03:59:48.000000000 +0100
+++ new/xf86-video-tdfx-1.4.5/missing   2012-06-06 13:47:33.000000000 +0200
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-01-06.13; # UTC
 
 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -84,7 +84,6 @@
   help2man     touch the output file
   lex          create \`lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
 Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
@@ -122,15 +121,6 @@
     # Not GNU programs, they don't have --version.
     ;;
 
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
   *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.
@@ -226,7 +216,7 @@
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
        case $LASTARG in
        *.y)
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -256,7 +246,7 @@
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
        case $LASTARG in
        *.l)
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -318,41 +308,6 @@
     touch $file
     ;;
 
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-       case $firstarg in
-       *o*)
-           firstarg=`echo "$firstarg" | sed s/o//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-       case $firstarg in
-       *h*)
-           firstarg=`echo "$firstarg" | sed s/h//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
   *)
     echo 1>&2 "\
 WARNING: \`$1' is needed, and is $msg.
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-tdfx-1.4.4/src/Makefile.am 
new/xf86-video-tdfx-1.4.5/src/Makefile.am
--- old/xf86-video-tdfx-1.4.4/src/Makefile.am   2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/Makefile.am   2012-06-06 13:35:24.000000000 
+0200
@@ -29,6 +29,7 @@
 tdfx_drv_ladir = @moduledir@/drivers
 
 tdfx_drv_la_SOURCES = \
+         compat-api.h \
          tdfx_accel.c \
          tdfxdefs.h \
          tdfx_dga.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-tdfx-1.4.4/src/compat-api.h 
new/xf86-video-tdfx-1.4.5/src/compat-api.h
--- old/xf86-video-tdfx-1.4.4/src/compat-api.h  1970-01-01 01:00:00.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/compat-api.h  2012-06-06 20:33:12.000000000 
+0200
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2012 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"),
+ * 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.
+ *
+ * Author: Dave Airlie <airl...@redhat.com>
+ */
+
+/* this file provides API compat between server post 1.13 and pre it,
+   it should be reused inside as many drivers as possible */
+#ifndef COMPAT_API_H
+#define COMPAT_API_H
+
+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
+#endif
+
+#ifndef XF86_HAS_SCRN_CONV
+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
+#endif
+
+#ifndef XF86_SCRN_INTERFACE
+
+#define SCRN_ARG_TYPE int
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
+
+#define SCREEN_ARG_TYPE int
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
+
+#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, 
pointer pReadmask
+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
+
+#define WAKEUPHANDLER_ARGS_DECL int arg, pointer wakeupData, unsigned long 
result, pointer read_mask
+#define WAKEUPHANDLER_ARGS arg, wakeupData, result, read_mask
+
+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
+
+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
+#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
+
+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
+#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
+
+#define FREE_SCREEN_ARGS_DECL int arg, int flags
+
+#define VT_FUNC_ARGS_DECL int arg, int flags
+#define VT_FUNC_ARGS pScrn->scrnIndex, 0
+
+#define XF86_SCRN_ARG(x) ((x)->scrnIndex)
+#else
+#define SCRN_ARG_TYPE ScrnInfoPtr
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
+
+#define SCREEN_ARG_TYPE ScreenPtr
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
+
+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer 
pReadmask
+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
+
+#define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer 
read_mask
+#define WAKEUPHANDLER_ARGS arg, result, read_mask
+
+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS pScreen
+
+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
+#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
+
+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
+#define SWITCH_MODE_ARGS(arg, m) arg, m
+
+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
+
+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
+#define VT_FUNC_ARGS pScrn
+
+#define XF86_SCRN_ARG(x) (x)
+
+#endif
+
+#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-tdfx-1.4.4/src/tdfx.h new/xf86-video-tdfx-1.4.5/src/tdfx.h
--- old/xf86-video-tdfx-1.4.4/src/tdfx.h        2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx.h        2012-07-17 07:21:16.000000000 
+0200
@@ -120,8 +120,12 @@
 #define TDFXTRACEREG if(0) ErrorF
 #endif
 
+#ifdef HAVE_XAA_H
 #include "xaa.h"
+#endif
+#include "xf86fbman.h"
 #include "xf86Cursor.h"
+#include "compat-api.h"
 
 typedef void (*TDFXWriteIndexedByteFunc)(TDFXPtr pTDFX, int addr, 
                                         char index, char value);
@@ -225,7 +229,9 @@
   BoxRec prevBlitDest;
   TDFXRegRec SavedReg;
   TDFXRegRec ModeReg;
+#ifdef HAVE_XAA_H
   XAAInfoRecPtr AccelInfoRec;
+#endif
   xf86CursorInfoPtr CursorInfoRec;
   CloseScreenProcPtr CloseScreen;
   Bool usePIO;
@@ -337,8 +343,8 @@
 extern void TDFXSetLFBConfig(TDFXPtr pTDFX);
 extern void TDFXSendNOPFifo(ScrnInfoPtr pScrn);
 
-extern Bool TDFXSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
-extern void TDFXAdjustFrame(int scrnIndex, int x, int y, int flags);
+extern Bool TDFXSwitchMode(SWITCH_MODE_ARGS_DECL);
+extern void TDFXAdjustFrame(ADJUST_FRAME_ARGS_DECL);
 
 extern void TDFXSetPIOAccess(TDFXPtr pTDFX);
 extern void TDFXSetMMIOAccess(TDFXPtr pTDFX);
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-tdfx-1.4.4/src/tdfx_accel.c 
new/xf86-video-tdfx-1.4.5/src/tdfx_accel.c
--- old/xf86-video-tdfx-1.4.4/src/tdfx_accel.c  2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx_accel.c  2012-07-17 07:21:16.000000000 
+0200
@@ -15,14 +15,16 @@
 #include "xf86PciInfo.h"
 
 /* Drivers that use XAA need this */
-#include "xaa.h"
+#ifdef HAVE_XAA_H
 #include "xaalocal.h"
+#endif
 #include "xf86fbman.h"
 
 #include "miline.h"
 
 #include "tdfx.h"
 
+#ifdef HAVE_XAA_H
 #ifdef TDFX_DEBUG_CMDS
 static int cmdCnt=0;
 static int lastAddr=0;
@@ -77,11 +79,14 @@
                                                      int skipleft);
 static void TDFXSubsequentColorExpandScanline(ScrnInfoPtr pScrn, int bufno);
 
+#endif
 void
 TDFXNeedSync(ScrnInfoPtr pScrn) {
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   pTDFX->syncDone=FALSE;
+#ifdef HAVE_XAA_H
   pTDFX->AccelInfoRec->NeedToSync = TRUE;
+#endif
 }
 
 void
@@ -91,8 +96,8 @@
   if (!pTDFX->syncDone) {
 #ifdef TDFXDRI
     if (pTDFX->directRenderingEnabled) {
-      DRILock(screenInfo.screens[pScrn->scrnIndex], 0);
-      TDFXSwapContextFifo(screenInfo.screens[pScrn->scrnIndex]);
+      DRILock(xf86ScrnToScreen(pScrn), 0);
+      TDFXSwapContextFifo(xf86ScrnToScreen(pScrn));
     }
 #endif
     pTDFX->syncDone=TRUE;
@@ -109,7 +114,7 @@
     pTDFX->syncDone=FALSE;
 #ifdef TDFXDRI
     if (pTDFX->directRenderingEnabled) {
-      DRIUnlock(screenInfo.screens[pScrn->scrnIndex]);
+      DRIUnlock(xf86ScrnToScreen(pScrn));
     }
 #endif
   }
@@ -203,11 +208,13 @@
   }
 }
 
+
 Bool
 TDFXAccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
   XAAInfoRecPtr infoPtr;
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   CARD32 commonFlags;
 
@@ -302,6 +309,9 @@
 
   /* Fill in acceleration functions */
   return XAAInit(pScreen, infoPtr);
+#else
+  return FALSE;
+#endif
 }
 
 static void TDFXMakeRoomNoProp(TDFXPtr pTDFX, int size) {
@@ -343,6 +353,9 @@
   pTDFX->PciCnt=stat&0x1F;
 }
 
+#ifdef HAVE_XAA_H
+
+
 static void
 TDFXMatchState(TDFXPtr pTDFX)
 {
@@ -933,3 +946,4 @@
   }
 }
 
+#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-tdfx-1.4.4/src/tdfx_dga.c 
new/xf86-video-tdfx-1.4.5/src/tdfx_dga.c
--- old/xf86-video-tdfx-1.4.4/src/tdfx_dga.c    2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx_dga.c    2012-07-17 07:21:16.000000000 
+0200
@@ -15,10 +15,12 @@
 static Bool TDFX_SetMode(ScrnInfoPtr, DGAModePtr);
 static int  TDFX_GetViewport(ScrnInfoPtr);
 static void TDFX_SetViewport(ScrnInfoPtr, int, int, int);
+#ifdef HAVE_XAA_H
 static void TDFX_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long);
 static void TDFX_BlitRect(ScrnInfoPtr, int, int, int, int, int, int);
 static void TDFX_BlitTransRect(ScrnInfoPtr, int, int, int, int, int, int, 
                               unsigned long);
+#endif
 
 
 static
@@ -29,16 +31,20 @@
   TDFX_SetViewport,
   TDFX_GetViewport,
   TDFXSync,
+#ifdef HAVE_XAA_H
   TDFX_FillRect,
   TDFX_BlitRect,
   TDFX_BlitTransRect
+#else
+  NULL, NULL, NULL
+#endif
 };
 
 
 Bool
 TDFXDGAInit(ScreenPtr pScreen)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX;
   DisplayModePtr pMode, firstMode;
   DGAModePtr modes=0, newmodes=0, currentMode;
@@ -60,8 +66,10 @@
     num++;
     currentMode->mode = pMode;
     currentMode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE;
+#ifdef HAVE_XAA_H
     if (!pTDFX->NoAccel)
       currentMode->flags |= DGA_FILL_RECT | DGA_BLIT_RECT;
+#endif
     if (pMode->Flags & V_DBLSCAN)
       currentMode->flags |= DGA_DOUBLESCAN;
     if (pMode->Flags & V_INTERLACE)
@@ -111,8 +119,8 @@
    if (!pMode) { /* restore the original mode */
      /* put the ScreenParameters back */
      if(pTDFX->DGAactive) {
-       TDFXSwitchMode(index, OldModes[index], 0);
-       TDFXAdjustFrame(pScrn->pScreen->myNum, 0, 0, 0);
+       TDFXSwitchMode(SWITCH_MODE_ARGS(pScrn, OldModes[index]));
+       TDFXAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
        pTDFX->DGAactive = FALSE;
      }
    } else {
@@ -121,7 +129,7 @@
         pTDFX->DGAactive = TRUE;
      }
 
-     TDFXSwitchMode(index, pMode->mode, 0);
+     TDFXSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode));
    }
    
    return TRUE;
@@ -141,7 +149,7 @@
    TDFXPtr pTDFX = TDFXPTR(pScrn);
    vgaHWPtr hwp = VGAHWPTR(pScrn);
 
-   TDFXAdjustFrame(pScrn->pScreen->myNum, x, y, flags);
+   TDFXAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
 
    /* fixme */
    while(hwp->readST01(hwp) & 0x08);
@@ -150,6 +158,7 @@
    pTDFX->DGAViewportStatus = 0;  
 }
 
+#ifdef HAVE_XAA_H
 static void 
 TDFX_FillRect(ScrnInfoPtr pScrn, int x, int y, int w, int h, 
              unsigned long color)
@@ -189,6 +198,7 @@
   /* this one should be separate since the XAA function would
      prohibit usage of ~0 as the key */
 }
+#endif
 
 
 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-tdfx-1.4.4/src/tdfx_dri.c 
new/xf86-video-tdfx-1.4.5/src/tdfx_dri.c
--- old/xf86-video-tdfx-1.4.4/src/tdfx_dri.c    2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx_dri.c    2012-07-17 07:21:16.000000000 
+0200
@@ -39,7 +39,7 @@
 static Bool
 TDFXInitVisualConfigs(ScreenPtr pScreen)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   int numConfigs = 0;
   __GLXvisualConfig *pConfigs = 0;
@@ -242,15 +242,14 @@
 }
 
 static void
-TDFXDoWakeupHandler(int screenNum, pointer wakeupData, unsigned long result,
-                   pointer pReadmask)
+TDFXDoWakeupHandler(WAKEUPHANDLER_ARGS_DECL)
 {
-  ScreenPtr pScreen = screenInfo.screens[screenNum];
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  SCREEN_PTR(arg);
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
 
   pTDFX->pDRIInfo->wrap.WakeupHandler = pTDFX->coreWakeupHandler;
-  (*pTDFX->pDRIInfo->wrap.WakeupHandler) (screenNum, wakeupData, result, 
pReadmask);
+  (*pTDFX->pDRIInfo->wrap.WakeupHandler) (WAKEUPHANDLER_ARGS);
   pTDFX->pDRIInfo->wrap.WakeupHandler = TDFXDoWakeupHandler;
 
 
@@ -258,24 +257,23 @@
 }
 
 static void
-TDFXDoBlockHandler(int screenNum, pointer blockData, pointer pTimeout,
-                 pointer pReadmask)
+TDFXDoBlockHandler(BLOCKHANDLER_ARGS_DECL)
 {
-  ScreenPtr pScreen = screenInfo.screens[screenNum];
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  SCREEN_PTR(arg);
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
 
   TDFXCheckSync(pScrn);
 
   pTDFX->pDRIInfo->wrap.BlockHandler = pTDFX->coreBlockHandler;
-  (*pTDFX->pDRIInfo->wrap.BlockHandler) (screenNum, blockData, pTimeout, 
pReadmask);
+  (*pTDFX->pDRIInfo->wrap.BlockHandler) (BLOCKHANDLER_ARGS);
   pTDFX->pDRIInfo->wrap.BlockHandler = TDFXDoBlockHandler;
 
 }
 
 Bool TDFXDRIScreenInit(ScreenPtr pScreen)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   DRIInfoPtr pDRIInfo;
   TDFXDRIPtr pTDFXDRI;
@@ -475,7 +473,7 @@
 void
 TDFXDRICloseScreen(ScreenPtr pScreen)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
 
   DRICloseScreen(pScreen);
@@ -509,7 +507,7 @@
 Bool
 TDFXDRIFinishScreenInit(ScreenPtr pScreen)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   TDFXDRIPtr pTDFXDRI;
 
@@ -547,8 +545,9 @@
 static void
 TDFXDRIInitBuffers(WindowPtr pWin, RegionPtr prgn, CARD32 index)
 {
+#ifdef HAVE_XAA_H
   ScreenPtr pScreen = pWin->drawable.pScreen;
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   BoxPtr pbox;
   int nbox;
@@ -569,15 +568,18 @@
   }
   TDFXSelectBuffer(pTDFX, TDFX_FRONT);
 
+
   pTDFX->AccelInfoRec->NeedToSync = TRUE;
+#endif
 }
 
 static void
 TDFXDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg,
                   RegionPtr prgnSrc, CARD32 index)
 {
+#ifdef HAVE_XAA_H
   ScreenPtr pScreen = pParent->drawable.pScreen;
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   int dx, dy, xdir, ydir, i, x, y, nbox;
   BoxPtr pbox;
@@ -611,6 +613,8 @@
   TDFXSelectBuffer(pTDFX, TDFX_FRONT);
 
   pTDFX->AccelInfoRec->NeedToSync = TRUE;
+#endif
+
 }
 
 /*
@@ -625,7 +629,7 @@
   TDFXPtr pTDFX;
 
   xf86DrvMsg(pScreen->myNum, X_INFO, "OpenFullScreen\n");
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   pTDFX=TDFXPTR(pScrn);
   if (pTDFX->numChips>1) {
     TDFXSetupSLI(pScrn);
@@ -641,7 +645,7 @@
   ScrnInfoPtr pScrn;
 
   xf86DrvMsg(pScreen->myNum, X_INFO, "CloseFullScreen\n");
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   TDFXDisableSLI(pScrn);
 #endif
   return TRUE;
@@ -650,7 +654,7 @@
 static void
 TDFXDRITransitionTo2d(ScreenPtr pScreen)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
 
   xf86FreeOffscreenArea(pTDFX->reservedArea); 
@@ -659,7 +663,7 @@
 static void
 TDFXDRITransitionTo3d(ScreenPtr pScreen)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   TDFXPtr pTDFX = TDFXPTR(pScrn);
   FBAreaPtr pArea;
 
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-tdfx-1.4.4/src/tdfx_driver.c 
new/xf86-video-tdfx-1.4.5/src/tdfx_driver.c
--- old/xf86-video-tdfx-1.4.4/src/tdfx_driver.c 2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx_driver.c 2012-07-17 07:21:16.000000000 
+0200
@@ -124,28 +124,28 @@
 static Bool TDFXPreInit(ScrnInfoPtr pScrn, int flags);
 
 /* Initialize a screen */
-static Bool TDFXScreenInit(int Index, ScreenPtr pScreen, int argc, char 
**argv);
+static Bool TDFXScreenInit(SCREEN_INIT_ARGS_DECL);
 
 /* Enter from a virtual terminal */
-static Bool TDFXEnterVT(int scrnIndex, int flags);
+static Bool TDFXEnterVT(VT_FUNC_ARGS_DECL);
 
 /* Leave to a virtual terminal */
-static void TDFXLeaveVT(int scrnIndex, int flags);
+static void TDFXLeaveVT(VT_FUNC_ARGS_DECL);
 
 /* Close down each screen we initialized */
-static Bool TDFXCloseScreen(int scrnIndex, ScreenPtr pScreen);
+static Bool TDFXCloseScreen(CLOSE_SCREEN_ARGS_DECL);
 
 /* Change screensaver state */
 static Bool TDFXSaveScreen(ScreenPtr pScreen, int mode);
 
 /* Cleanup server private data */
-static void TDFXFreeScreen(int scrnIndex, int flags);
+static void TDFXFreeScreen(FREE_SCREEN_ARGS_DECL);
 
 /* Check if a mode is valid on the hardware */
-static ModeStatus TDFXValidMode(int scrnIndex, DisplayModePtr mode,
+static ModeStatus TDFXValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode,
                                Bool verbose, int flags);
 
-static void TDFXBlockHandler(int, pointer, pointer, pointer);
+static void TDFXBlockHandler(BLOCKHANDLER_ARGS_DECL);
 
 /* Switch to various Display Power Management System levels */
 static void TDFXDisplayPowerManagementSet(ScrnInfoPtr pScrn, 
@@ -757,7 +757,7 @@
   reg = pTDFX->readLong(pTDFX, VIDSERIALPARALLELPORT);
   pTDFX->writeLong(pTDFX, VIDSERIALPARALLELPORT, reg | VSP_ENABLE_IIC0);
 
-  pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pTDFX->pI2CBus);
+  pMon = xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn), pTDFX->pI2CBus);
 
   if (pMon == NULL)
     xf86Msg(X_WARNING, "No DDC2 capable monitor found\n");
@@ -1910,14 +1910,14 @@
 
 #ifdef TDFXDRI
   if (pTDFX->directRenderingEnabled) {
-    DRILock(screenInfo.screens[pScrn->scrnIndex], 0);
-    TDFXSwapContextFifo(screenInfo.screens[pScrn->scrnIndex]);
+    DRILock(xf86ScrnToScreen(pScrn), 0);
+    TDFXSwapContextFifo(xf86ScrnToScreen(pScrn));
   }
 #endif
   DoRestore(pScrn, &hwp->ModeReg, &pTDFX->ModeReg, FALSE);
 #ifdef TDFXDRI
   if (pTDFX->directRenderingEnabled) {
-    DRIUnlock(screenInfo.screens[pScrn->scrnIndex]);
+    DRIUnlock(xf86ScrnToScreen(pScrn));
   }
 #endif
 
@@ -2195,7 +2195,7 @@
 }
 
 static Bool
-TDFXScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) {
+TDFXScreenInit(SCREEN_INIT_ARGS_DECL) {
   ScrnInfoPtr pScrn;
   vgaHWPtr hwp;
   TDFXPtr pTDFX;
@@ -2207,7 +2207,7 @@
   int scanlines;
 
   TDFXTRACE("TDFXScreenInit start\n");
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   pTDFX = TDFXPTR(pScrn);
   hwp = VGAHWPTR(pScrn);
 
@@ -2337,7 +2337,7 @@
       return FALSE;
     break;
   default:
-    xf86DrvMsg(scrnIndex, X_ERROR,
+    xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
               "Internal error: invalid bpp (%d) in TDFXScrnInit\n",
               pScrn->bitsPerPixel);
     return FALSE;
@@ -2398,7 +2398,7 @@
       return FALSE;
   }
 
-  TDFXAdjustFrame(scrnIndex, 0, 0, 0);
+  TDFXAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
 
   xf86DPMSInit(pScreen, TDFXDisplayPowerManagementSet, 0);
 
@@ -2438,22 +2438,20 @@
 }
 
 Bool
-TDFXSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) {
-  ScrnInfoPtr pScrn;
+TDFXSwitchMode(SWITCH_MODE_ARGS_DECL) {
+  SCRN_INFO_PTR(arg);
 
   TDFXTRACE("TDFXSwitchMode start\n");
-  pScrn=xf86Screens[scrnIndex];
   return TDFXModeInit(pScrn, mode);
 }
 
 void
-TDFXAdjustFrame(int scrnIndex, int x, int y, int flags) {
-  ScrnInfoPtr pScrn;
+TDFXAdjustFrame(ADJUST_FRAME_ARGS_DECL) {
+  SCRN_INFO_PTR(arg);
   TDFXPtr pTDFX;
   TDFXRegPtr tdfxReg;
 
   TDFXTRACE("TDFXAdjustFrame start\n");
-  pScrn = xf86Screens[scrnIndex];
   pTDFX = TDFXPTR(pScrn);
 
   if (pTDFX->ShowCache && y && pScrn->vtSema)
@@ -2468,16 +2466,15 @@
 }
 
 static Bool
-TDFXEnterVT(int scrnIndex, int flags) {
-  ScrnInfoPtr pScrn;
+TDFXEnterVT(VT_FUNC_ARGS_DECL) {
+  SCRN_INFO_PTR(arg);
   ScreenPtr pScreen;
 #ifdef TDFXDRI
   TDFXPtr pTDFX;
 #endif
 
   TDFXTRACE("TDFXEnterVT start\n");
-  pScrn = xf86Screens[scrnIndex];
-  pScreen = screenInfo.screens[scrnIndex];
+  pScreen = xf86ScrnToScreen(pScrn);
   TDFXInitFifo(pScreen);
 #ifdef TDFXDRI
   pTDFX = TDFXPTR(pScrn);
@@ -2486,23 +2483,22 @@
   }
 #endif
   if (!TDFXModeInit(pScrn, pScrn->currentMode)) return FALSE;
-  TDFXAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+  TDFXAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
   return TRUE;
 }
 
 static void
-TDFXLeaveVT(int scrnIndex, int flags) {
-  ScrnInfoPtr pScrn;
+TDFXLeaveVT(VT_FUNC_ARGS_DECL) {
+  SCRN_INFO_PTR(arg);
   vgaHWPtr hwp;
   ScreenPtr pScreen;
   TDFXPtr pTDFX;
 
   TDFXTRACE("TDFXLeaveVT start\n");
-  pScrn = xf86Screens[scrnIndex];
   hwp=VGAHWPTR(pScrn);
   TDFXRestore(pScrn);
   vgaHWLock(hwp);
-  pScreen = screenInfo.screens[scrnIndex];
+  pScreen = xf86ScrnToScreen(pScrn);
   pTDFX = TDFXPTR(pScrn);
   pTDFX->sync(pScrn);
   TDFXShutdownFifo(pScreen);
@@ -2514,14 +2510,14 @@
 }
 
 static Bool
-TDFXCloseScreen(int scrnIndex, ScreenPtr pScreen)
+TDFXCloseScreen(CLOSE_SCREEN_ARGS_DECL)
 {
   ScrnInfoPtr pScrn;
   vgaHWPtr hwp;
   TDFXPtr pTDFX;
 
   TDFXTRACE("TDFXCloseScreen start\n");
-  pScrn = xf86Screens[scrnIndex];
+  pScrn = xf86ScreenToScrn(pScreen);
   hwp = VGAHWPTR(pScrn);
   pTDFX = TDFXPTR(pScrn);
 
@@ -2541,8 +2537,10 @@
       vgaHWUnmapMem(pScrn);
   }
   
+#ifdef HAVE_XAA_H
   if (pTDFX->AccelInfoRec) XAADestroyInfoRec(pTDFX->AccelInfoRec);
   pTDFX->AccelInfoRec=0;
+#endif
   if (pTDFX->DGAModes) free(pTDFX->DGAModes);
   pTDFX->DGAModes=0;
   if (pTDFX->scanlineColorExpandBuffers[0])
@@ -2562,27 +2560,27 @@
 
   pScreen->BlockHandler = pTDFX->BlockHandler;
   pScreen->CloseScreen = pTDFX->CloseScreen;
-  return (*pScreen->CloseScreen)(scrnIndex, pScreen);
+  return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
 }
 
 static void
-TDFXFreeScreen(int scrnIndex, int flags) {
+TDFXFreeScreen(FREE_SCREEN_ARGS_DECL) {
+  SCRN_INFO_PTR(arg);
   TDFXTRACE("TDFXFreeScreen start\n");
-  TDFXFreeRec(xf86Screens[scrnIndex]);
+  TDFXFreeRec(pScrn);
   if (xf86LoaderCheckSymbol("vgaHWFreeHWRec"))
-    vgaHWFreeHWRec(xf86Screens[scrnIndex]);
+    vgaHWFreeHWRec(pScrn);
 }
 
 static ModeStatus
-TDFXValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) {
-  ScrnInfoPtr pScrn;
+TDFXValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) 
{
+  SCRN_INFO_PTR(arg);
   TDFXPtr pTDFX;
 
   TDFXTRACE("TDFXValidMode start\n");
   if ((mode->HDisplay>2048) || (mode->VDisplay>1536)) 
     return MODE_BAD;
   /* Banshee doesn't support interlace, but Voodoo 3 and higher do. */
-  pScrn = xf86Screens[scrnIndex];
   pTDFX = TDFXPTR(pScrn);
   if (mode->Flags&V_INTERLACE) {
     switch (pTDFX->ChipType) {
@@ -2631,7 +2629,7 @@
 static Bool
 TDFXSaveScreen(ScreenPtr pScreen, int mode)
 {
-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
   Bool unblank;
 
   TDFXTRACE("TDFXSaveScreen start\n");
@@ -2648,14 +2646,14 @@
 }                                                                             
 
 static void
-TDFXBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
+TDFXBlockHandler(BLOCKHANDLER_ARGS_DECL)
 {
-    ScreenPtr   pScreen = screenInfo.screens[i];
-    ScrnInfoPtr pScrn   = xf86Screens[i];
+    SCREEN_PTR(arg);
+    ScrnInfoPtr pScrn   = xf86ScreenToScrn(pScreen);
     TDFXPtr     pTDFX   = TDFXPTR(pScrn);
 
     pScreen->BlockHandler = pTDFX->BlockHandler;
-    (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
+    (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
     pScreen->BlockHandler = TDFXBlockHandler;
 
     if(pTDFX->VideoTimerCallback) {
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-tdfx-1.4.4/src/tdfx_hwcurs.c 
new/xf86-video-tdfx-1.4.5/src/tdfx_hwcurs.c
--- old/xf86-video-tdfx-1.4.4/src/tdfx_hwcurs.c 2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx_hwcurs.c 2012-06-06 13:37:32.000000000 
+0200
@@ -31,7 +31,7 @@
   xf86CursorInfoPtr infoPtr;
 
   TDFXTRACECURS("TDFXCursorInit start\n");
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   pTDFX = TDFXPTR(pScrn);
   pTDFX->CursorInfoRec = infoPtr = xf86CreateCursorInfoRec();
   if (!infoPtr) return FALSE;
@@ -146,7 +146,7 @@
   TDFXPtr pTDFX;
 
   TDFXTRACECURS("TDFXUseHWCursor start\n");
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   pTDFX = TDFXPTR(pScrn);
   if (pScrn->currentMode->Flags&V_DBLSCAN)
     return FALSE;
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-tdfx-1.4.4/src/tdfx_priv.c 
new/xf86-video-tdfx-1.4.5/src/tdfx_priv.c
--- old/xf86-video-tdfx-1.4.4/src/tdfx_priv.c   2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx_priv.c   2012-06-06 13:37:32.000000000 
+0200
@@ -192,7 +192,7 @@
   ScrnInfoPtr pScrn;
   TDFXPtr pTDFX;
 
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   pTDFX=TDFXPTR(pScrn);
 #ifdef DEBUG_FIFO
   pTDFX->fifoMirrorBase=0;
@@ -212,7 +212,7 @@
   ScrnInfoPtr pScrn;
   TDFXPtr pTDFX;
 
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   pTDFX=TDFXPTR(pScrn);
   TDFXWriteLongMMIO(pTDFX, SST_FIFO_BASESIZE0, 0);
   pTDFX->sync=TDFXSync;
@@ -242,7 +242,7 @@
   int dummy, readPos;
   TDFXSAREAPriv *sPriv;
 
-  pScrn = xf86Screens[pScreen->myNum];
+  pScrn = xf86ScreenToScrn(pScreen);
   pTDFX=TDFXPTR(pScrn);
   sPriv=(TDFXSAREAPriv*)DRIGetSAREAPrivate(pScreen);
   /* if (sPriv)
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-tdfx-1.4.4/src/tdfx_video.c 
new/xf86-video-tdfx-1.4.5/src/tdfx_video.c
--- old/xf86-video-tdfx-1.4.4/src/tdfx_video.c  2012-03-24 03:59:39.000000000 
+0100
+++ new/xf86-video-tdfx-1.4.5/src/tdfx_video.c  2012-06-06 13:37:32.000000000 
+0200
@@ -122,7 +122,7 @@
 
 void TDFXInitVideo(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL;
     XF86VideoAdaptorPtr newAdaptor = NULL;
     TDFXPtr pTDFX = TDFXPTR(pScrn);
@@ -208,7 +208,7 @@
 static XF86VideoAdaptorPtr
 TDFXSetupImageVideoOverlay(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     TDFXPtr pTDFX = TDFXPTR(pScrn);
     TDFXPortPrivPtr pPriv;
     XF86VideoAdaptorPtr adapt;
@@ -252,7 +252,7 @@
 static XF86VideoAdaptorPtr
 TDFXSetupImageVideoTexture(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     TDFXPtr pTDFX = TDFXPTR(pScrn);
     XF86VideoAdaptorPtr adapt;
     int i;
@@ -1096,7 +1096,7 @@
     xf86FreeOffscreenArea(area);
   }
 
-  pScreen = screenInfo.screens[pScrn->scrnIndex];
+  pScreen = xf86ScrnToScreen(pScrn);
 
   new_area = xf86AllocateOffscreenArea(pScreen, width, height, pTDFX->cpp, 
NULL, NULL, NULL);
 
@@ -1132,7 +1132,7 @@
         xf86FreeOffscreenLinear(linear);
    }
 
-   pScreen = screenInfo.screens[pScrn->scrnIndex];
+   pScreen = xf86ScrnToScreen(pScrn);
 
    new_linear = xf86AllocateOffscreenLinear(pScreen, size, 4, NULL, NULL, 
NULL);
 

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to