Hello community, here is the log from the commit of package xf86-video-savage for openSUSE:Factory checked in at 2012-09-15 17:30:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xf86-video-savage (Old) and /work/SRC/openSUSE:Factory/.xf86-video-savage.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-savage", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/xf86-video-savage/xf86-video-savage.changes 2012-06-01 22:33:06.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xf86-video-savage.new/xf86-video-savage.changes 2012-09-15 17:30:51.000000000 +0200 @@ -1,0 +2,12 @@ +Sun Sep 2 21:13:07 UTC 2012 - [email protected] + +- Update to version 2.3.6: + + Make build with no xaa server. +- Changes since version 2.3.5: + + i2c drop xf86Screens usage. + + Port to new compat API + + Refactor BIOS modes retrieval to call VBEGetVBEInfo only once. + Otherwise, calling it twice would trigger a VBE bug when using + xserver 1.12. + +------------------------------------------------------------------- Old: ---- xf86-video-savage-2.3.4.tar.bz2 New: ---- xf86-video-savage-2.3.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xf86-video-savage.spec ++++++ --- /var/tmp/diff_new_pack.RtFJbK/_old 2012-09-15 17:30:51.000000000 +0200 +++ /var/tmp/diff_new_pack.RtFJbK/_new 2012-09-15 17:30:51.000000000 +0200 @@ -17,7 +17,7 @@ Name: xf86-video-savage -Version: 2.3.4 +Version: 2.3.6 Release: 0 Summary: S3 Savage video driver for the Xorg X server License: MIT ++++++ xf86-video-savage-2.3.4.tar.bz2 -> xf86-video-savage-2.3.6.tar.bz2 ++++++ ++++ 26872 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-savage-2.3.4/ChangeLog new/xf86-video-savage-2.3.6/ChangeLog --- old/xf86-video-savage-2.3.4/ChangeLog 2012-03-24 03:46:48.000000000 +0100 +++ new/xf86-video-savage-2.3.6/ChangeLog 2012-07-17 08:27:47.000000000 +0200 @@ -1,3 +1,56 @@ +commit cb27a7a072c6e087a2e272d84c1d569dc717da8b +Author: Dave Airlie <[email protected]> +Date: Tue Jul 17 16:05:09 2012 +1000 + + xf86-video-savage: bump to version 2.3.6 + + Signed-off-by: Dave Airlie <[email protected]> + +commit d7edd7c545473d5ed80c9a46c1405042267a7293 +Author: Dave Airlie <[email protected]> +Date: Mon Jul 16 03:39:32 2012 +0100 + + savage: make build with no xaa server. + + This fixes savage build against the no XAA server. + + Signed-off-by: Dave Airlie <[email protected]> + +commit 508e0742b7d1ac1e4ff6b648d19bfa062c535d61 +Author: Dave Airlie <[email protected]> +Date: Mon Jul 2 12:29:41 2012 +0100 + + savage: bump to 2.3.5 + + Signed-off-by: Dave Airlie <[email protected]> + +commit 430b956b49b6c883189074ce13bc234545b714e0 +Author: Dave Airlie <[email protected]> +Date: Wed Jun 6 11:24:31 2012 +0100 + + savage: i2c drop xf86Screens usage. + + Signed-off-by: Dave Airlie <[email protected]> + +commit a2714fb09e1e0badbb3e98e24d4b1ed92003bdb9 +Author: Dave Airlie <[email protected]> +Date: Wed Jun 6 11:22:29 2012 +0100 + + savage: port to new compat API + + Signed-off-by: Dave Airlie <[email protected]> + +commit de22eab9a21df80fe965dc37d21ba3ac2b9f5fd0 +Author: Tormod Volden <[email protected]> +Date: Wed Feb 15 22:20:37 2012 +0100 + + Refactor BIOS modes retrieval to call VBEGetVBEInfo only once + + Otherwise, calling it twice would trigger a VBE bug when using + xserver 1.12. + + Signed-off-by: Tormod Volden <[email protected]> + commit 63dd44674a28263c5d8d6aec8b72e95f94d3fe6c Author: Alan Coopersmith <[email protected]> Date: Fri Mar 23 19:46:12 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-savage-2.3.4/config.h.in new/xf86-video-savage-2.3.6/config.h.in --- old/xf86-video-savage-2.3.4/config.h.in 2012-03-24 03:46:27.000000000 +0100 +++ new/xf86-video-savage-2.3.6/config.h.in 2012-07-17 08:27:47.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 + /* xextproto 7.1 available */ #undef HAVE_XEXTPROTO_71 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-savage-2.3.4/configure.ac new/xf86-video-savage-2.3.6/configure.ac --- old/xf86-video-savage-2.3.4/configure.ac 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/configure.ac 2012-07-17 08:00:16.000000000 +0200 @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-savage], - [2.3.4], + [2.3.6], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-savage]) AC_CONFIG_SRCDIR([Makefile.am]) @@ -103,6 +103,24 @@ AC_DEFINE(SAVAGEDRI_DEVEL,1,[Enable developmental DRI driver support]) fi +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]) + save_CFLAGS="$CFLAGS" CFLAGS="$XORG_CFLAGS" AC_CHECK_DECL(XSERVER_LIBPCIACCESS, 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-savage-2.3.4/missing new/xf86-video-savage-2.3.6/missing --- old/xf86-video-savage-2.3.4/missing 2012-03-24 03:46:27.000000000 +0100 +++ new/xf86-video-savage-2.3.6/missing 2012-06-06 12:04:50.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 <[email protected]>, 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-savage-2.3.4/src/Makefile.am new/xf86-video-savage-2.3.6/src/Makefile.am --- old/xf86-video-savage-2.3.4/src/Makefile.am 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/Makefile.am 2012-06-06 12:08:31.000000000 +0200 @@ -29,6 +29,7 @@ savage_drv_ladir = @moduledir@/drivers savage_drv_la_SOURCES = \ + compat-api.h \ savage_accel.c \ savage_xaa.c \ savage_exa.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-savage-2.3.4/src/compat-api.h new/xf86-video-savage-2.3.6/src/compat-api.h --- old/xf86-video-savage-2.3.4/src/compat-api.h 1970-01-01 01:00:00.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/compat-api.h 2012-06-06 12:21:27.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 <[email protected]> + */ + +/* 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-savage-2.3.4/src/savage_accel.c new/xf86-video-savage-2.3.6/src/savage_accel.c --- old/xf86-video-savage-2.3.4/src/savage_accel.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_accel.c 2012-06-06 12:21:27.000000000 +0200 @@ -1274,7 +1274,7 @@ Bool SavageInitAccel(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); #ifdef SAVAGEDRI 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-savage-2.3.4/src/savage_cursor.c new/xf86-video-savage-2.3.6/src/savage_cursor.c --- old/xf86-video-savage-2.3.4/src/savage_cursor.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_cursor.c 2012-06-06 12:21:27.000000000 +0200 @@ -83,7 +83,7 @@ static Bool SavageUseHWCursor(ScreenPtr pScr, CursorPtr pCurs) { - ScrnInfoPtr pScrn = xf86Screens[pScr->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScr); SavagePtr psav = SAVPTR(pScrn); if (psav->PanelX != pScrn->currentMode->HDisplay @@ -100,7 +100,7 @@ Bool SavageHWCursorInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); xf86CursorInfoPtr infoPtr; 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-savage-2.3.4/src/savage_dga.c new/xf86-video-savage-2.3.6/src/savage_dga.c --- old/xf86-video-savage-2.3.4/src/savage_dga.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_dga.c 2012-07-16 04:37:56.000000000 +0200 @@ -34,8 +34,9 @@ * */ - +#ifdef HAVE_XAA_H #include "xaalocal.h" +#endif #include "savage_driver.h" #include "dgaproc.h" @@ -46,9 +47,10 @@ static Bool Savage_SetMode(ScrnInfoPtr, DGAModePtr); static int Savage_GetViewport(ScrnInfoPtr); static void Savage_SetViewport(ScrnInfoPtr, int, int, int); +#ifdef HAVE_XAA_H static void Savage_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long); static void Savage_BlitRect(ScrnInfoPtr, int, int, int, int, int, int); - +#endif static DGAFunctionRec Savage_DGAFuncs = { @@ -58,8 +60,12 @@ Savage_SetViewport, Savage_GetViewport, SavageAccelSync, +#ifdef HAVE_XAA_H Savage_FillRect, Savage_BlitRect, +#else + NULL, NULL, +#endif NULL /* BlitTransRect */ }; @@ -127,8 +133,10 @@ mode->mode = pMode; mode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE; +#ifdef HAVE_XAA_H if(!psav->NoAccel) mode->flags |= DGA_FILL_RECT | DGA_BLIT_RECT; +#endif if(pMode->Flags & V_DBLSCAN) mode->flags |= DGA_DOUBLESCAN; if(pMode->Flags & V_INTERLACE) @@ -202,7 +210,7 @@ Bool SavageDGAInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); DGAModePtr modes = NULL; int num = 0; @@ -276,7 +284,7 @@ pScrn->currentMode = OldMode[index]; psav->DGAactive = FALSE; - SavageSwitchMode(index, pScrn->currentMode, 0); + SavageSwitchMode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode)); if( psav->hwcursor && psav->hwc_on ) SavageShowCursor(pScrn); } else { @@ -312,7 +320,7 @@ (pMode->bitsPerPixel >> 3); /* psav->UseBIOS = FALSE; */ - SavageSwitchMode(index, pMode->mode, 0); + SavageSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode)); psav->UseBIOS = holdBIOS; } @@ -337,10 +345,11 @@ ){ SavagePtr psav = SAVPTR(pScrn); - SavageAdjustFrame(pScrn->pScreen->myNum, x, y, flags); + SavageAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y)); psav->DGAViewportStatus = 0; /* MGAAdjustFrame loops until finished */ } +#ifdef HAVE_XAA_H static void Savage_FillRect ( ScrnInfoPtr pScrn, @@ -376,7 +385,7 @@ SET_SYNC_FLAG(psav->AccelInfoRec); } } - +#endif static Bool Savage_OpenFramebuffer( 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-savage-2.3.4/src/savage_dri.c new/xf86-video-savage-2.3.6/src/savage_dri.c --- old/xf86-video-savage-2.3.4/src/savage_dri.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_dri.c 2012-07-16 04:39:28.000000000 +0200 @@ -31,8 +31,10 @@ #include "xf86.h" #include "xf86_OSproc.h" +#ifdef HAVE_XAA_H #include "xaalocal.h" #include "xaarop.h" +#endif #include "xf86Pci.h" #include "xf86fbman.h" @@ -104,7 +106,7 @@ */ static Bool SAVAGEInitVisualConfigs( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); int numConfigs = 0; __GLXvisualConfig *pConfigs = 0; @@ -243,7 +245,7 @@ drm_context_t hwContext, void *pVisualConfigPriv, DRIContextType contextStore ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); if(psav->xvmcContext) @@ -259,21 +261,20 @@ static void SAVAGEDestroyContext( ScreenPtr pScreen, drm_context_t hwContext, DRIContextType contextStore ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); psav->DRIrunning--; } -static void SAVAGEWakeupHandler( int screenNum, pointer wakeupData, - unsigned long result, pointer pReadmask ) +static void SAVAGEWakeupHandler(WAKEUPHANDLER_ARGS_DECL) { - ScreenPtr pScreen = screenInfo.screens[screenNum]; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + SCREEN_PTR(arg); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); psav->pDRIInfo->wrap.WakeupHandler = psav->coreWakeupHandler; - (*psav->pDRIInfo->wrap.WakeupHandler) (screenNum, wakeupData, result, pReadmask); + (*psav->pDRIInfo->wrap.WakeupHandler) (WAKEUPHANDLER_ARGS); psav->pDRIInfo->wrap.WakeupHandler = SAVAGEWakeupHandler; psav->LockHeld = 1; if (psav->ShadowStatus) { @@ -288,16 +289,17 @@ } if (psav->useEXA) exaMarkSync(pScreen); +#ifdef HAVE_XAA_H else psav->AccelInfoRec->NeedToSync = TRUE; +#endif /* FK: this flag doesn't seem to be used. */ } -static void SAVAGEBlockHandler( int screenNum, pointer blockData, - pointer pTimeout, pointer pReadmask) +static void SAVAGEBlockHandler(BLOCKHANDLER_ARGS_DECL) { - ScreenPtr pScreen = screenInfo.screens[screenNum]; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + SCREEN_PTR(arg); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); if (psav->ShadowStatus) { @@ -316,7 +318,7 @@ } psav->LockHeld = 0; psav->pDRIInfo->wrap.BlockHandler = psav->coreBlockHandler; - (*psav->pDRIInfo->wrap.BlockHandler) (screenNum, blockData, pTimeout, pReadmask); + (*psav->pDRIInfo->wrap.BlockHandler) (BLOCKHANDLER_ARGS); psav->pDRIInfo->wrap.BlockHandler = SAVAGEBlockHandler; } @@ -395,7 +397,7 @@ static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; unsigned int offset; @@ -586,7 +588,7 @@ static Bool SAVAGEDRIMapInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; @@ -688,7 +690,7 @@ static Bool SAVAGEDRIBuffersInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; int count; @@ -736,7 +738,7 @@ static Bool SAVAGEDRIKernelInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; drmSAVAGEInit init; @@ -791,7 +793,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); DRIInfoPtr pDRIInfo; SAVAGEDRIPtr pSAVAGEDRI; @@ -1069,7 +1071,7 @@ Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; SAVAGEDRIPtr pSAVAGEDRI = (SAVAGEDRIPtr)psav->pDRIInfo->devPrivate; @@ -1234,7 +1236,7 @@ void SAVAGEDRIResume(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGESAREAPrivPtr pSAREAPriv = (SAVAGESAREAPrivPtr)DRIGetSAREAPrivate(pScreen); @@ -1250,7 +1252,7 @@ void SAVAGEDRICloseScreen( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; @@ -1346,7 +1348,7 @@ SAVAGEDRIInitBuffers(WindowPtr pWin, RegionPtr prgn, CARD32 index) { ScreenPtr pScreen = pWin->drawable.pScreen; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); BoxPtr pbox = REGION_RECTS(prgn); int nbox = REGION_NUM_RECTS(prgn); @@ -1396,7 +1398,7 @@ RegionPtr prgnSrc, CARD32 index) { ScreenPtr pScreen = pParent->drawable.pScreen; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); int nbox; BoxPtr pbox, pboxTmp, pboxNext, pboxBase, pboxNew1, pboxNew2; @@ -1537,8 +1539,10 @@ BCI_SEND(0xc0020000); /* wait for 2D idle */ if (psav->useEXA) exaMarkSync(pScreen); +#ifdef HAVE_XAA_H else psav->AccelInfoRec->NeedToSync = TRUE; +#endif } /* Definition in savage_accel.c */ @@ -1613,7 +1617,7 @@ static Bool SAVAGEDRIOpenFullScreen(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); vgaHWPtr hwp = VGAHWPTR(pScrn); SavagePtr psav = SAVPTR(pScrn); unsigned int vgaCRIndex = hwp->IOBase + 4; @@ -1678,7 +1682,7 @@ static Bool SAVAGEDRICloseFullScreen(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); BCI_GET_PTR; 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-savage-2.3.4/src/savage_driver.c new/xf86-video-savage-2.3.6/src/savage_driver.c --- old/xf86-video-savage-2.3.4/src/savage_driver.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_driver.c 2012-07-16 04:38:19.000000000 +0200 @@ -73,7 +73,6 @@ #include "savage_sarea.h" #endif - /* * prototypes */ @@ -91,25 +90,24 @@ #endif static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags); -static Bool SavageEnterVT(int scrnIndex, int flags); -static void SavageLeaveVT(int scrnIndex, int flags); +static Bool SavageEnterVT(VT_FUNC_ARGS_DECL); +static void SavageLeaveVT(VT_FUNC_ARGS_DECL); static void SavageSave(ScrnInfoPtr pScrn); static void SavageWriteMode(ScrnInfoPtr pScrn, vgaRegPtr, SavageRegPtr, Bool); static void SavageInitStatus(ScrnInfoPtr pScrn); static void SavageInitShadowStatus(ScrnInfoPtr pScrn); -static Bool SavageScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, - char **argv); -static int SavageInternalScreenInit(int scrnIndex, ScreenPtr pScreen); -static ModeStatus SavageValidMode(int index, DisplayModePtr mode, +static Bool SavageScreenInit(SCREEN_INIT_ARGS_DECL); +static int SavageInternalScreenInit(ScreenPtr pScreen); +static ModeStatus SavageValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags); void SavageDGAInit(ScreenPtr); static Bool SavageMapMem(ScrnInfoPtr pScrn); static void SavageUnmapMem(ScrnInfoPtr pScrn, int All); static Bool SavageModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode); -static Bool SavageCloseScreen(int scrnIndex, ScreenPtr pScreen); +static Bool SavageCloseScreen(CLOSE_SCREEN_ARGS_DECL); static Bool SavageSaveScreen(ScreenPtr pScreen, int mode); static void SavageLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indicies, LOCO *colors, @@ -125,7 +123,7 @@ void SavageGEReset(ScrnInfoPtr pScrn, int from_timeout, int line, char *file); void SavagePrintRegs(ScrnInfoPtr pScrn); static void SavageDPMS(ScrnInfoPtr pScrn, int mode, int flags); -static Bool SavageDDC1(int scrnIndex); +static Bool SavageDDC1(ScrnInfoPtr pScrn); static unsigned int SavageDDC1Read(ScrnInfoPtr pScrn); static void SavageProbeDDC(ScrnInfoPtr pScrn, int index); static void SavageGetTvMaxSize(SavagePtr psav); @@ -899,7 +897,7 @@ break; } - if (!SavageDDC1(pScrn->scrnIndex)) { + if (!SavageDDC1(pScrn)) { /* DDC1 failed,switch to DDC2 */ if (xf86LoadSubModule(pScrn, "i2c")) { if (SavageI2CInit(pScrn)) { @@ -908,7 +906,7 @@ InI2CREG(tmp,psav->DDCPort); OutI2CREG(tmp | 0x13,psav->DDCPort); - pMon = xf86PrintEDID(xf86DoEDID_DDC2(pScrn->scrnIndex,psav->I2C)); + pMon = xf86PrintEDID(xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn),psav->I2C)); if (!psav->IgnoreEDID) xf86SetDDCproperties(pScrn, pMon); OutI2CREG(tmp,psav->DDCPort); } @@ -2198,22 +2196,20 @@ } -static Bool SavageEnterVT(int scrnIndex, int flags) +static Bool SavageEnterVT(VT_FUNC_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); #ifdef SAVAGEDRI SavagePtr psav = SAVPTR(pScrn); ScreenPtr pScreen; #endif - TRACE(("SavageEnterVT(%d)\n", flags)); - gpScrn = pScrn; SavageEnableMMIO(pScrn); #ifdef SAVAGEDRI if (psav->directRenderingEnabled) { - pScreen = screenInfo.screens[scrnIndex]; + pScreen = xf86ScrnToScreen(pScrn); SAVAGEDRIResume(pScreen); DRIUnlock(pScreen); psav->LockHeld = 0; @@ -2232,9 +2228,9 @@ } -static void SavageLeaveVT(int scrnIndex, int flags) +static void SavageLeaveVT(VT_FUNC_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); vgaHWPtr hwp = VGAHWPTR(pScrn); SavagePtr psav = SAVPTR(pScrn); vgaRegPtr vgaSavePtr = &hwp->SavedReg; @@ -2248,7 +2244,7 @@ #ifdef SAVAGEDRI if (psav->directRenderingEnabled) { - pScreen = screenInfo.screens[scrnIndex]; + pScreen = xf86ScrnToScreen(pScrn); DRILock(pScreen, 0); psav->LockHeld = 1; } @@ -2461,7 +2457,7 @@ #ifdef SAVAGEDRI if (psav->directRenderingEnabled) { - DRILock(screenInfo.screens[pScrn->scrnIndex], 0); + DRILock(xf86ScrnToScreen(pScrn), 0); psav->LockHeld = 1; } #endif @@ -2654,7 +2650,7 @@ #ifdef SAVAGEDRI if (psav->directRenderingEnabled) - DRIUnlock(screenInfo.screens[pScrn->scrnIndex]); + DRIUnlock(xf86ScrnToScreen(pScrn)); psav->LockHeld = 0; #endif @@ -2910,7 +2906,7 @@ #ifdef SAVAGEDRI if (psav->directRenderingEnabled) - DRIUnlock(screenInfo.screens[pScrn->scrnIndex]); + DRIUnlock(xf86ScrnToScreen(pScrn)); psav->LockHeld = 0; #endif @@ -3215,10 +3211,9 @@ psav->dwBCIWait2DIdle = 0xc0020000; } -static Bool SavageScreenInit(int scrnIndex, ScreenPtr pScreen, - int argc, char **argv) +static Bool SavageScreenInit(SCREEN_INIT_ARGS_DECL) { - ScrnInfoPtr pScrn; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav; EntityInfoPtr pEnt; int ret; @@ -3226,7 +3221,6 @@ TRACE(("SavageScreenInit()\n")); - pScrn = xf86Screens[pScreen->myNum]; psav = SAVPTR(pScrn); pEnt = xf86GetEntityInfo(pScrn->entityList[0]); @@ -3268,16 +3262,16 @@ } else if (xf86IsEntityShared(psav->pEnt->index)) { /* Xinerama has sync problem with DRI, disable it for now */ psav->directRenderingEnabled = FALSE; - xf86DrvMsg(scrnIndex, X_WARNING, + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Direct Rendering Disabled -- " "Dual-head configuration is not working with " "DRI at present.\n"); } else if (/*!psav->bTiled*/psav->bDisableTile) { - xf86DrvMsg(scrnIndex, X_WARNING, + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Direct Rendering requires a tiled framebuffer -- " "Set Option \"DisableTile\" \"false\"\n"); } else if (psav->cobSize == 0) { - xf86DrvMsg(scrnIndex, X_WARNING, + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Direct Rendering requires the COB -- " "Set Option \"DisableCOB\" \"false\"\n"); } else if (((psav->Chipset == S3_TWISTER) @@ -3342,7 +3336,7 @@ if (!miSetPixmapDepths ()) return FALSE; - ret = SavageInternalScreenInit(scrnIndex, pScreen); + ret = SavageInternalScreenInit(pScreen); if (!ret) return FALSE; @@ -3524,7 +3518,7 @@ } -static int SavageInternalScreenInit(int scrnIndex, ScreenPtr pScreen) +static int SavageInternalScreenInit(ScreenPtr pScreen) { int ret = TRUE; ScrnInfoPtr pScrn; @@ -3534,7 +3528,7 @@ TRACE(("SavageInternalScreenInit()\n")); - pScrn = xf86Screens[pScreen->myNum]; + pScrn = xf86ScreenToScrn(pScreen); psav = SAVPTR(pScrn); displayWidth = pScrn->displayWidth; @@ -3609,10 +3603,10 @@ } -static ModeStatus SavageValidMode(int index, DisplayModePtr pMode, +static ModeStatus SavageValidMode(SCRN_ARG_TYPE arg, DisplayModePtr pMode, Bool verbose, int flags) { - ScrnInfoPtr pScrn = xf86Screens[index]; + SCRN_INFO_PTR(arg); SavagePtr psav = SAVPTR(pScrn); int refresh; @@ -3701,7 +3695,7 @@ SavageInitSecondaryStream(pScrn); } - SavageAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); + SavageAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0)); return TRUE; } @@ -3963,15 +3957,15 @@ SavageInitSecondaryStream(pScrn); } - SavageAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); + SavageAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0)); return TRUE; } -static Bool SavageCloseScreen(int scrnIndex, ScreenPtr pScreen) +static Bool SavageCloseScreen(CLOSE_SCREEN_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); vgaHWPtr hwp = VGAHWPTR(pScrn); SavagePtr psav = SAVPTR(pScrn); vgaRegPtr vgaSavePtr = &hwp->SavedReg; @@ -3993,10 +3987,12 @@ psav->EXADriverPtr = NULL; } +#ifdef HAVE_XAA_H if( psav->AccelInfoRec ) { XAADestroyInfoRec( psav->AccelInfoRec ); psav->AccelInfoRec = NULL; } +#endif if( psav->DGAModes ) { free( psav->DGAModes ); @@ -4020,13 +4016,13 @@ pScrn->vtSema = FALSE; pScreen->CloseScreen = psav->CloseScreen; - return (*pScreen->CloseScreen)(scrnIndex, pScreen); + return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); } static Bool SavageSaveScreen(ScreenPtr pScreen, int mode) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); TRACE(("SavageSaveScreen(0x%x)\n", mode)); @@ -4042,9 +4038,9 @@ return vgaHWSaveScreen(pScreen, mode); } -void SavageAdjustFrame(int scrnIndex, int x, int y, int flags) +void SavageAdjustFrame(ADJUST_FRAME_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); SavagePtr psav = SAVPTR(pScrn); if (psav->IsSecondary) { @@ -4119,18 +4115,18 @@ return; } -Bool SavageSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) +Bool SavageSwitchMode(SWITCH_MODE_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); SavagePtr psav = SAVPTR(pScrn); Bool success; TRACE(("SavageSwitchMode\n")); if (psav->FBStart2nd || (psav->videoFlags & VF_STREAMS_ON)) - SavageStreamsOff(xf86Screens[scrnIndex]); + SavageStreamsOff(pScrn); - success = SavageModeInit(xf86Screens[scrnIndex], mode); + success = SavageModeInit(pScrn, mode); /* switching mode on primary will reset secondary. it needs to be reset as well*/ if (psav->IsPrimary) { @@ -4578,9 +4574,8 @@ } static Bool -SavageDDC1(int scrnIndex) +SavageDDC1(ScrnInfoPtr pScrn) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; SavagePtr psav = SAVPTR(pScrn); unsigned char byte; xf86MonPtr pMon; @@ -4591,7 +4586,7 @@ InI2CREG(byte,psav->I2CPort); OutI2CREG(byte | 0x12,psav->I2CPort); - pMon = xf86DoEDID_DDC1(scrnIndex,vgaHWddc1SetSpeedWeak(),SavageDDC1Read); + pMon = xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),vgaHWddc1SetSpeedWeak(),SavageDDC1Read); if (!pMon) 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-savage-2.3.4/src/savage_driver.h new/xf86-video-savage-2.3.6/src/savage_driver.h --- old/xf86-video-savage-2.3.4/src/savage_driver.h 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_driver.h 2012-07-16 04:35:12.000000000 +0200 @@ -63,7 +63,10 @@ #include "fboverlay.h" #include "xf86cmap.h" #include "vbe.h" +#ifdef HAVE_XAA_H #include "xaa.h" +#endif +#include "xf86fbman.h" #include "exa.h" #include "xf86xv.h" @@ -82,6 +85,8 @@ #include "GL/glxint.h" #include "xf86drm.h" +#include "compat-api.h" + /* Totals 2 Mbytes which equals 2^16 32-byte vertices divided among up * to 32 clients. */ #define SAVAGE_NUM_BUFFERS 32 @@ -407,7 +412,7 @@ /* Support for shadowFB and rotation */ unsigned char * ShadowPtr; int ShadowPitch; - void (*PointerMoved)(int index, int x, int y); + void (*PointerMoved)(SCRN_ARG_TYPE arg, int x, int y); /* support for EXA */ ExaDriverPtr EXADriverPtr; @@ -419,7 +424,9 @@ unsigned long sbd_high; /* Support for XAA acceleration */ +#ifdef HAVE_XAA_H XAAInfoRecPtr AccelInfoRec; +#endif xRectangle Rect; unsigned int SavedBciCmd; unsigned int SavedFgColor; @@ -578,9 +585,9 @@ int max_n1, int min_n2, int max_n2, long freq_min, long freq_max, unsigned char *mdiv, unsigned char *ndiv); -void SavageAdjustFrame(int scrnIndex, int y, int x, int flags); +void SavageAdjustFrame(ADJUST_FRAME_ARGS_DECL); void SavageDoAdjustFrame(ScrnInfoPtr pScrn, int y, int x, int crtc2); -Bool SavageSwitchMode(int scrnIndex, DisplayModePtr mode, int flags); +Bool SavageSwitchMode(SWITCH_MODE_ARGS_DECL); /* In savage_cursor.c. */ @@ -606,7 +613,7 @@ /* In savage_shadow.c */ -void SavagePointerMoved(int index, int x, int y); +void SavagePointerMoved(SCRN_ARG_TYPE arg, int x, int y); void SavageRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox); void SavageRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox); void SavageRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox); @@ -625,6 +632,7 @@ unsigned short SavageGetBIOSModes( SavagePtr psav, + VbeInfoBlock *vbe, int iDepth, SavageModeEntryPtr s3vModeTable ); 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-savage-2.3.4/src/savage_exa.c new/xf86-video-savage-2.3.6/src/savage_exa.c --- old/xf86-video-savage-2.3.4/src/savage_exa.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_exa.c 2012-06-06 12:21:27.000000000 +0200 @@ -102,7 +102,7 @@ Bool SavageEXAInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); if (!(psav->EXADriverPtr = exaDriverAlloc())) { @@ -196,7 +196,7 @@ static void SavageEXASync(ScreenPtr pScreen, int marker) { - SavagePtr psav = SAVPTR(xf86Screens[pScreen->myNum]); + SavagePtr psav = SAVPTR(xf86ScreenToScrn(pScreen)); psav->WaitIdleEmpty(psav); } @@ -248,7 +248,7 @@ static Bool SavagePrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SavagePtr psav = SAVPTR(pScrn); int cmd, rop; BCI_GET_PTR; @@ -322,7 +322,7 @@ static void SavageSolid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SavagePtr psav = SAVPTR(pScrn); int w = x2 - x1; int h = y2 - y1; @@ -352,7 +352,7 @@ SavagePrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, int ydir, int alu, Pixel planemask) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPixmap->drawable.pScreen); SavagePtr psav = SAVPTR(pScrn); int cmd; BCI_GET_PTR; @@ -400,7 +400,7 @@ static void SavageCopy(PixmapPtr pDstPixmap, int srcX, int srcY, int dstX, int dstY, int width, int height) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPixmap->drawable.pScreen); SavagePtr psav = SAVPTR(pScrn); BCI_GET_PTR; @@ -435,7 +435,7 @@ Bool SavageUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, char *src, int src_pitch) { - ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); SavagePtr psav = SAVPTR(pScrn); BCI_GET_PTR; int i, j, dwords, queue, Bpp; 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-savage-2.3.4/src/savage_hwmc.c new/xf86-video-savage-2.3.6/src/savage_hwmc.c --- old/xf86-video-savage-2.3.4/src/savage_hwmc.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_hwmc.c 2012-07-16 04:38:50.000000000 +0200 @@ -40,8 +40,9 @@ #include "xf86xvmc.h" #include <X11/extensions/Xv.h> #include <X11/extensions/XvMC.h> -#include "xaa.h" +#ifdef HAVE_XAA_H #include "xaalocal.h" +#endif #include "dixstruct.h" #include "fourcc.h" @@ -181,7 +182,7 @@ **************************************************************************/ Bool SAVAGEInitMC(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr pSAVAGE = SAVPTR(pScrn); DRIInfoPtr pDRIInfo = pSAVAGE->pDRIInfo; SAVAGEDRIPtr pSAVAGEDriPriv = (SAVAGEDRIPtr)pDRIInfo->devPrivate; 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-savage-2.3.4/src/savage_i2c.c new/xf86-video-savage-2.3.6/src/savage_i2c.c --- old/xf86-video-savage-2.3.4/src/savage_i2c.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_i2c.c 2012-06-06 12:24:11.000000000 +0200 @@ -37,7 +37,11 @@ static void SavageI2CPutBits(I2CBusPtr b, int clock, int data) { +#ifdef XF86_SCRN_INTERFACE + ScrnInfoPtr pScrn = b->pScrn; +#else ScrnInfoPtr pScrn = (ScrnInfoPtr)(xf86Screens[b->scrnIndex]); +#endif SavagePtr psav = SAVPTR(pScrn); unsigned char reg = 0x10; @@ -51,7 +55,11 @@ static void SavageI2CGetBits(I2CBusPtr b, int *clock, int *data) { +#ifdef XF86_SCRN_INTERFACE + ScrnInfoPtr pScrn = b->pScrn; +#else ScrnInfoPtr pScrn = (ScrnInfoPtr)(xf86Screens[b->scrnIndex]); +#endif SavagePtr psav = SAVPTR(pScrn); unsigned char reg = 0x10; @@ -76,6 +84,9 @@ I2CPtr->BusName = "I2C bus"; I2CPtr->scrnIndex = pScrn->scrnIndex; +#ifdef XF86_SCRN_INTERFACE + I2CPtr->pScrn = pScrn; +#endif I2CPtr->I2CPutBits = SavageI2CPutBits; I2CPtr->I2CGetBits = SavageI2CGetBits; 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-savage-2.3.4/src/savage_shadow.c new/xf86-video-savage-2.3.6/src/savage_shadow.c --- old/xf86-video-savage-2.3.4/src/savage_shadow.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_shadow.c 2012-06-06 12:21:27.000000000 +0200 @@ -42,9 +42,9 @@ void -SavagePointerMoved(int index, int x, int y) +SavagePointerMoved(SCRN_ARG_TYPE arg, int x, int y) { - ScrnInfoPtr pScrn = xf86Screens[index]; + SCRN_INFO_PTR(arg); SavagePtr psav = SAVPTR(pScrn); int newX, newY; @@ -56,7 +56,7 @@ newY = pScrn->pScreen->width - x - 1; } - (*psav->PointerMoved)(index, newX, newY); + (*psav->PointerMoved)(arg, newX, newY); } void 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-savage-2.3.4/src/savage_vbe.c new/xf86-video-savage-2.3.6/src/savage_vbe.c --- old/xf86-video-savage-2.3.4/src/savage_vbe.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_vbe.c 2012-06-06 12:21:27.000000000 +0200 @@ -242,17 +242,28 @@ SavageModeTablePtr SavageGetBIOSModeTable( SavagePtr psav, int iDepth ) { - int nModes = SavageGetBIOSModes( psav, iDepth, NULL ); + VbeInfoBlock *vbe; + int nModes; SavageModeTablePtr pTable; + if( !psav->pVbe ) + return 0; + + if (!(vbe = VBEGetVBEInfo(psav->pVbe))) + return 0; + + nModes = SavageGetBIOSModes( psav, vbe, iDepth, NULL ); + pTable = (SavageModeTablePtr) calloc( 1, sizeof(SavageModeTableRec) + (nModes-1) * sizeof(SavageModeEntry) ); if( pTable ) { pTable->NumModes = nModes; - SavageGetBIOSModes( psav, iDepth, pTable->Modes ); + SavageGetBIOSModes( psav, vbe, iDepth, pTable->Modes ); } + VBEFreeVBEInfo(vbe); + return pTable; } @@ -260,19 +271,16 @@ unsigned short SavageGetBIOSModes( SavagePtr psav, + VbeInfoBlock *vbe, int iDepth, SavageModeEntryPtr s3vModeTable ) { unsigned short iModeCount = 0; unsigned short int *mode_list; pointer vbeLinear = NULL; - VbeInfoBlock *vbe; int vbeReal; struct vbe_mode_info_block * vmib; - if( !psav->pVbe ) - return 0; - vbeLinear = xf86Int10AllocPages( psav->pVbe->pInt10, 1, &vbeReal ); if( !vbeLinear ) { @@ -281,9 +289,6 @@ } vmib = (struct vbe_mode_info_block *) vbeLinear; - if (!(vbe = VBEGetVBEInfo(psav->pVbe))) - return 0; - for (mode_list = vbe->VideoModePtr; *mode_list != 0xffff; mode_list++) { /* @@ -377,8 +382,6 @@ } } - VBEFreeVBEInfo(vbe); - xf86Int10FreePages( psav->pVbe->pInt10, vbeLinear, 1 ); return iModeCount; 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-savage-2.3.4/src/savage_video.c new/xf86-video-savage-2.3.6/src/savage_video.c --- old/xf86-video-savage-2.3.4/src/savage_video.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_video.c 2012-06-06 12:21:27.000000000 +0200 @@ -338,7 +338,7 @@ void SavageInitVideo(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; XF86VideoAdaptorPtr newAdaptor = NULL; SavagePtr psav = SAVPTR(pScrn); @@ -877,7 +877,7 @@ static XF86VideoAdaptorPtr SavageSetupImageVideo(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); XF86VideoAdaptorPtr adapt; SavagePortPrivPtr pPriv; @@ -1324,7 +1324,7 @@ static void SavageVideoSave(ScreenPtr pScreen, ExaOffscreenArea *area) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SavagePortPrivPtr pPriv = psav->adaptor->pPortPrivates[0].ptr; @@ -1340,7 +1340,7 @@ void **mem_struct, int size ){ - ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex]; + ScreenPtr pScreen = xf86ScrnToScreen(pScrn); SavagePtr psav = SAVPTR(pScrn); int offset = 0; @@ -2359,7 +2359,7 @@ SavageInitOffscreenImages(ScreenPtr pScreen) { XF86OffscreenImagePtr offscreenImages; - SavagePtr psav = SAVPTR(xf86Screens[pScreen->myNum]); + SavagePtr psav = SAVPTR(xf86ScreenToScrn(pScreen)); /* need to free this someplace */ if (!psav->offscreenImages) { 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-savage-2.3.4/src/savage_xaa.c new/xf86-video-savage-2.3.6/src/savage_xaa.c --- old/xf86-video-savage-2.3.4/src/savage_xaa.c 2012-03-24 03:46:19.000000000 +0100 +++ new/xf86-video-savage-2.3.6/src/savage_xaa.c 2012-07-16 04:36:51.000000000 +0200 @@ -14,10 +14,13 @@ #endif #include <X11/Xarch.h> +#include "savage_driver.h" +#ifdef HAVE_XAA_H #include "xaalocal.h" #include "xaarop.h" + #include "miline.h" -#include "savage_driver.h" + #include "savage_bci.h" extern int gSavageEntityIndex; @@ -146,12 +149,13 @@ return; } - +#endif Bool SavageXAAInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; +#ifdef HAVE_XAA_H + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); XAAInfoRecPtr xaaptr; BoxRec AvailFBArea; @@ -344,7 +348,9 @@ return XAAInit(pScreen, xaaptr); - +#else + return FALSE; +#endif } /* The sync function for the GE */ @@ -355,7 +361,7 @@ psav->WaitIdleEmpty(psav); } - +#ifdef HAVE_XAA_H /* * The XAA ROP helper routines all assume that a solid color is a * "pattern". The Savage chips, however, apply a non-stippled solid @@ -1020,3 +1026,4 @@ BCI_SEND(BCI_W_H(w, h)); } +#endif -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
