1
0

Compare commits

...

6 Commits

Author SHA256 Message Date
Ana Guerrero
13dc82fe28 Accepting request 1230203 from X11:XOrg
- 0002-configure-Use-LT_INIT-from-libtool-2-instead-of-depr.patch
  0003-Add-X.Org-s-standard-C-warning-flags-to-AM_CFLAGS.patch
  0004-Quiet-Wredundant-decls-from-xorg-os.h-fallbacks-for-.patch
  0005-Fix-3-Wunused-but-set-variable-warnings.patch
  0006-Fix-4-Wunused-variable-warnings.patch
  0007-voodoo_find_dac-doesn-t-check-device_ids-2.patch
  0008-use-XNFalloc-instead-of-xnfalloc.patch
  0009-use-XNFcallocarray-instead-of-xnfcalloc-macro.patch
  0010-bump-minimal-xorg-version-to-1.18.patch
  0011-drop-compat-with-ancient-xserver-versions.patch
  0012-Drop-ifdefs-for-ABI_VIDEODRV_VERSION-6.patch
  0013-Remove-XAA-support.patch
  0014-drop-dead-code.patch
  0015-drop-remains-of-old-compat-code.patch
  * latest changes to fix build against current xserver
- u_buildfix.patch
  * fixes build on i586 (hopefully)

OBS-URL: https://build.opensuse.org/request/show/1230203
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xf86-video-voodoo?expand=0&rev=11
2024-12-12 20:18:07 +00:00
e1830aa54c removed no apply-able patch 0001-gitlab-CI-ensure-libtool-is-installed-in-build-conta.patch
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xf86-video-voodoo?expand=0&rev=19
2024-12-11 22:04:21 +00:00
317a99e394 - u_buildfix.patch
* fixes build on i586 (hopefully)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xf86-video-voodoo?expand=0&rev=18
2024-12-11 16:32:57 +00:00
6e181cafa7 autoreconf
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xf86-video-voodoo?expand=0&rev=17
2024-12-11 16:23:42 +00:00
2fba257bdb added automake brq
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xf86-video-voodoo?expand=0&rev=16
2024-12-11 16:19:34 +00:00
89f97d561d - 0001-gitlab-CI-ensure-libtool-is-installed-in-build-conta.patch
0002-configure-Use-LT_INIT-from-libtool-2-instead-of-depr.patch
  0003-Add-X.Org-s-standard-C-warning-flags-to-AM_CFLAGS.patch
  0004-Quiet-Wredundant-decls-from-xorg-os.h-fallbacks-for-.patch
  0005-Fix-3-Wunused-but-set-variable-warnings.patch
  0006-Fix-4-Wunused-variable-warnings.patch
  0007-voodoo_find_dac-doesn-t-check-device_ids-2.patch
  0008-use-XNFalloc-instead-of-xnfalloc.patch
  0009-use-XNFcallocarray-instead-of-xnfcalloc-macro.patch
  0010-bump-minimal-xorg-version-to-1.18.patch
  0011-drop-compat-with-ancient-xserver-versions.patch
  0012-Drop-ifdefs-for-ABI_VIDEODRV_VERSION-6.patch
  0013-Remove-XAA-support.patch
  0014-drop-dead-code.patch
  0015-drop-remains-of-old-compat-code.patch
  * latest changes to fix build against current xserver

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xf86-video-voodoo?expand=0&rev=15
2024-12-11 16:16:03 +00:00
17 changed files with 1628 additions and 2 deletions

View File

@ -0,0 +1,38 @@
From f1434139a366539ef632ad1aec4764a8c89f2f99 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon, 15 Jan 2024 11:33:07 -0800
Subject: [PATCH 02/15] configure: Use LT_INIT from libtool 2 instead of
deprecated AC_PROG_LIBTOOL
AC_PROG_LIBTOOL was replaced by LT_INIT in libtool 2 in 2008,
so it's time to rely on it.
Clears autoconf warnings:
configure.ac:44: warning: The macro 'AC_PROG_LIBTOOL' is obsolete.
configure.ac:44: You should run autoupdate.
aclocal.m4:3515: AC_PROG_LIBTOOL is expanded from...
configure.ac:44: the top level
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
configure.ac | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index bd48b58..b7a711b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,8 +40,7 @@ XORG_MACROS_VERSION(1.8)
XORG_DEFAULT_OPTIONS
# Initialize libtool
-AC_DISABLE_STATIC
-AC_PROG_LIBTOOL
+LT_INIT([disable-static])
AH_TOP([#include "xorg-server.h"])
--
2.43.0

View File

@ -0,0 +1,26 @@
From 2495db60d9c163941e1ae4b89982ecb8ce4e954a Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon, 15 Jan 2024 11:38:33 -0800
Subject: [PATCH 03/15] Add X.Org's standard C warning flags to AM_CFLAGS
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
src/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index c145c27..7a6d4d9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,7 +23,7 @@
# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
# _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
-AM_CFLAGS = @XORG_CFLAGS@
+AM_CFLAGS = $(BASE_CFLAGS) $(XORG_CFLAGS)
voodoo_drv_la_LTLIBRARIES = voodoo_drv.la
voodoo_drv_la_LDFLAGS = -module -avoid-version
voodoo_drv_ladir = @moduledir@/drivers
--
2.43.0

View File

@ -0,0 +1,35 @@
From cfe1fcb4eefba66243ecf1336e38f4e77a491cff Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon, 15 Jan 2024 11:44:21 -0800
Subject: [PATCH 04/15] Quiet -Wredundant-decls from xorg/os.h fallbacks for
new libc functions
The Xorg headers provide their own versions of strlcat, strlcpy, and
timingsafe_memcmp for platforms that don't have them in libc yet, but
rely on configure to set HAVE_* defines to determine if they should be
defined in the headers.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
configure.ac | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index b7a711b..fe407d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -63,7 +63,10 @@ PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
HAVE_XEXTPROTO_71="no")
AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
-# Checks for libraries.
+# Checks for library functions
+# We don't use strlcat, strlcpy, or timingsafe_memcmp, but check to quiet
+# -Wredundant-decls warning from xorg/os.h which will otherwise redefine them.
+AC_CHECK_FUNCS([strlcat strlcpy timingsafe_memcmp])
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
--
2.43.0

View File

@ -0,0 +1,59 @@
From ead68c88de422c82004715403776ec0d21c6d6aa Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue, 16 Jan 2024 16:27:27 -0800
Subject: [PATCH 05/15] Fix 3 -Wunused-but-set-variable warnings
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
src/voodoo_dga.c | 5 -----
src/voodoo_driver.c | 4 ----
2 files changed, 9 deletions(-)
diff --git a/src/voodoo_dga.c b/src/voodoo_dga.c
index c30c5c2..76da169 100644
--- a/src/voodoo_dga.c
+++ b/src/voodoo_dga.c
@@ -91,18 +91,13 @@ static Bool VoodooDGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode)
{
DisplayModePtr pMode;
int scrnIdx = pScrn->pScreen->myNum;
- int frameX0, frameY0;
if (pDGAMode) {
pMode = pDGAMode->mode;
- frameX0 = frameY0 = 0;
}
else {
if (!(pMode = pScrn->currentMode))
return TRUE;
-
- frameX0 = pScrn->frameX0;
- frameY0 = pScrn->frameY0;
}
if (!(*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pMode)))
diff --git a/src/voodoo_driver.c b/src/voodoo_driver.c
index 11bf2cf..456152f 100644
--- a/src/voodoo_driver.c
+++ b/src/voodoo_driver.c
@@ -834,7 +834,6 @@ static Bool
VoodooModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
VoodooPtr pVoo;
- int width, height;
pVoo = VoodooPTR(pScrn);
@@ -860,9 +859,6 @@ VoodooModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
return FALSE;
}
- width = mode->HDisplay;
- height = mode->VDisplay;
-
/* Initialize the video card */
if(VoodooMode(pScrn, mode))
{
--
2.43.0

View File

@ -0,0 +1,56 @@
From a2b65b4bca30a9805e4757e5e05860aa00d56483 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue, 16 Jan 2024 16:30:18 -0800
Subject: [PATCH 06/15] Fix 4 -Wunused-variable warnings
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
src/voodoo_dga.c | 1 -
src/voodoo_hardware.c | 4 +++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/voodoo_dga.c b/src/voodoo_dga.c
index 76da169..a13c9e7 100644
--- a/src/voodoo_dga.c
+++ b/src/voodoo_dga.c
@@ -90,7 +90,6 @@ static Bool VoodooDGAOpenFramebuffer(ScrnInfoPtr pScrn, char **DeviceName,
static Bool VoodooDGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode)
{
DisplayModePtr pMode;
- int scrnIdx = pScrn->pScreen->myNum;
if (pDGAMode) {
pMode = pDGAMode->mode;
diff --git a/src/voodoo_hardware.c b/src/voodoo_hardware.c
index c360263..8dcfb63 100644
--- a/src/voodoo_hardware.c
+++ b/src/voodoo_hardware.c
@@ -84,8 +84,8 @@ static Bool VoodooSetupForCPUToScreenTexture(ScrnInfoPtr pScrn, int op,
static void VoodooSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn,
int dstx, int dsty, int srcx, int srcy, int width, int height);
-#endif
static int debug = 0;
+#endif
/*
* Big endian might need to byteswap these ?
@@ -866,6 +866,7 @@ static void VoodooReadWriteBank(ScreenPtr pScreen, int bank)
}
#endif
+#ifdef HAVE_XAA_H
/*
* We normally want to load all four rop variants at once so
* the table is the 16bits for the lot equal.
@@ -912,6 +913,7 @@ static CARD16 tropxlate[16] = {
0xAA77, /* GXnand */
0xAAFF /* GXset */
};
+#endif
void VoodooSync(ScrnInfoPtr pScrn)
--
2.43.0

View File

@ -0,0 +1,31 @@
From 3065954a83c966901baecf686619e6679833632f Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue, 16 Jan 2024 16:38:58 -0800
Subject: [PATCH 07/15] voodoo_find_dac doesn't check device_ids (#2)
Closes: #2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
src/voodoo_hardware.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/voodoo_hardware.c b/src/voodoo_hardware.c
index 8dcfb63..d1463e7 100644
--- a/src/voodoo_hardware.c
+++ b/src/voodoo_hardware.c
@@ -389,10 +389,10 @@ static int voodoo_find_dac(VoodooPtr pVoo)
device_id = dac_in(pVoo, 2);
/* AT&T 20C409 and clones */
- if(vendor_id == DAC_VENDOR_ATT && DAC_DEVICE_ATT20C409)
+ if(vendor_id == DAC_VENDOR_ATT && device_id == DAC_DEVICE_ATT20C409)
return DAC_ID_ATT;
- if(vendor_id == DAC_VENDOR_TI && DAC_DEVICE_TITVP3409)
+ if(vendor_id == DAC_VENDOR_TI && device_id == DAC_DEVICE_TITVP3409)
return DAC_ID_TI;
/* ICS5432 doesn't implement the back door. Glide does some
--
2.43.0

View File

@ -0,0 +1,30 @@
From 7f0ef65c8b7735152689085deb7556e03ab63a10 Mon Sep 17 00:00:00 2001
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
Date: Wed, 8 May 2024 13:20:10 +0200
Subject: [PATCH 08/15] use XNFalloc() instead of xnfalloc
xnfalloc is just an alias for XNFalloc() that doesn't seem to serve
any practical purpose, so it can go away once all drivers stopped using it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/6>
---
src/voodoo_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/voodoo_driver.c b/src/voodoo_driver.c
index 456152f..377da32 100644
--- a/src/voodoo_driver.c
+++ b/src/voodoo_driver.c
@@ -627,7 +627,7 @@ VoodooScreenInit(SCREEN_INIT_ARGS_DECL)
if(pVoo->ShadowFB)
{
pVoo->ShadowPitch = ((pScrn->virtualX * pScrn->bitsPerPixel >> 3) + 3) & ~3L;
- pVoo->ShadowPtr = xnfalloc(pVoo->ShadowPitch * pScrn->virtualY);
+ pVoo->ShadowPtr = XNFalloc(pVoo->ShadowPitch * pScrn->virtualY);
FBStart = pVoo->ShadowPtr;
displayWidth = pScrn->virtualX;
}
--
2.43.0

View File

@ -0,0 +1,39 @@
From 2da59302a2fe1a16225af4e7da9ef5b00727a663 Mon Sep 17 00:00:00 2001
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
Date: Wed, 8 May 2024 17:27:13 +0200
Subject: [PATCH 09/15] use XNFcallocarray() instead of xnfcalloc macro
xnfcalloc is just an alias for XNFcallocarray() that doesn't seem to serve
any practical purpose, so it can go away once all drivers stopped using it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/6>
---
src/voodoo_driver.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/voodoo_driver.c b/src/voodoo_driver.c
index 377da32..559fdc8 100644
--- a/src/voodoo_driver.c
+++ b/src/voodoo_driver.c
@@ -182,7 +182,7 @@ VoodooGetRec(ScrnInfoPtr pScrn)
if (pScrn->driverPrivate != NULL)
return TRUE;
- pScrn->driverPrivate = xnfcalloc(sizeof(VoodooRec), 1);
+ pScrn->driverPrivate = XNFcallocarray(sizeof(VoodooRec), 1);
/* Initialize it */
/* No init here yet */
@@ -480,7 +480,7 @@ VoodooPreInit(ScrnInfoPtr pScrn, int flags)
/* Set up clock ranges so that the xf86ValidateModes() function will not fail a mode because of the clock
requirement (because we don't use the clock value anyway) */
- clockRanges = xnfcalloc(sizeof(ClockRange), 1);
+ clockRanges = XNFcallocarray(sizeof(ClockRange), 1);
clockRanges->next = NULL;
clockRanges->minClock = 10000;
clockRanges->maxClock = 250000; /* 250MHz DAC */
--
2.43.0

View File

@ -0,0 +1,30 @@
From 12b735fe2cd084f9c135792f55e7cfc8c1bc5339 Mon Sep 17 00:00:00 2001
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
Date: Tue, 14 May 2024 16:30:38 +0200
Subject: [PATCH 10/15] bump minimal xorg version to 1.18
1.18 was released a decade ago, so it seems reasonable stop supporting
older ones.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/7>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index fe407d7..c1e826f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,7 +57,7 @@ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
# Obtain compiler/linker options for the driver dependencies
-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto xf86dgaproto $REQUIRED_MODULES])
+PKG_CHECK_MODULES(XORG, [xorg-server >= 1.18 xproto fontsproto xf86dgaproto $REQUIRED_MODULES])
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
HAVE_XEXTPROTO_71="no")
--
2.43.0

View File

@ -0,0 +1,72 @@
From deeaf931fe2451cd2589959368bea5c4c1bb503e Mon Sep 17 00:00:00 2001
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
Date: Tue, 14 May 2024 16:31:01 +0200
Subject: [PATCH 11/15] drop compat with ancient xserver versions
We're relying on at least 1.18 now.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/7>
---
src/compat-api.h | 41 -----------------------------------------
1 file changed, 41 deletions(-)
diff --git a/src/compat-api.h b/src/compat-api.h
index 6bc946f..2376b25 100644
--- a/src/compat-api.h
+++ b/src/compat-api.h
@@ -28,45 +28,6 @@
#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 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)
@@ -95,5 +56,3 @@
#define XF86_SCRN_ARG(x) (x)
#endif
-
-#endif
--
2.43.0

View File

@ -0,0 +1,31 @@
From 014923aa853a50f9afe07d900f6bc6f006f78e91 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed, 22 May 2024 18:51:20 -0700
Subject: [PATCH 12/15] Drop ifdefs for ABI_VIDEODRV_VERSION < 6
ABI_VIDEODRV_VERSION 6 shipped in Xserver 1.7, less than our new minimum
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/8>
---
src/voodoo_driver.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/voodoo_driver.c b/src/voodoo_driver.c
index 559fdc8..01c2710 100644
--- a/src/voodoo_driver.c
+++ b/src/voodoo_driver.c
@@ -53,10 +53,6 @@
#include "xf86Pci.h"
#include "xf86cmap.h"
#include "shadowfb.h"
-#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
-#include "xf86RAC.h"
-#include "xf86Resources.h"
-#endif
#include "compiler.h"
#ifdef HAVE_XAA_H
#include "xaa.h"
--
2.43.0

View File

@ -0,0 +1,818 @@
From 38537b4dffdcba1dfde99f3e7106a5c23c9859b3 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed, 22 May 2024 19:02:40 -0700
Subject: [PATCH 13/15] Remove XAA support
Mostly done via unifdef -UHAVE_XAA_H, followed by minor manual editing
Since recent commits require xserver-1.18.0 or later to build against,
there's no reason leaving behind big chunks of code that can only build
against the XAA support removed in xserver-1.13.0 (released in 2012).
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/8>
---
configure.ac | 18 --
src/voodoo.h | 10 -
src/voodoo_dga.c | 3 -
src/voodoo_driver.c | 19 +-
src/voodoo_hardware.c | 629 ------------------------------------------
5 files changed, 4 insertions(+), 675 deletions(-)
diff --git a/configure.ac b/configure.ac
index c1e826f..827d293 100644
--- a/configure.ac
+++ b/configure.ac
@@ -84,24 +84,6 @@ 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=voodoo
diff --git a/src/voodoo.h b/src/voodoo.h
index 846ce66..772b3b6 100644
--- a/src/voodoo.h
+++ b/src/voodoo.h
@@ -13,9 +13,6 @@ typedef struct {
CARD8 * ShadowPtr; /* Shadow buffer */
CARD32 ShadowPitch;
CloseScreenProcPtr CloseScreen; /* Wrapped Close */
-#ifdef HAVE_XAA_H
- XAAInfoRecPtr AccelInfoRec; /* Cached Accel rec for close */
-#endif
Bool Blanked;
Bool PassThrough; /* Set to restore pass through on exit */
EntityInfoPtr pEnt;
@@ -33,9 +30,6 @@ typedef struct {
CARD32 FullHeight; /* Height including pixmap cache */
CARD32 Tiles; /* 32 tile count */
- int BlitDirX; /* Cache blitter direction */
- int BlitDirY; /* Cache blitter direction */
-
CARD32 lfbMode; /* Cached lfbMode value */
CARD32 alpha; /* Cached alpha reg for sw blit */
@@ -71,9 +65,6 @@ typedef struct {
PLLClock vClock;
PLLClock gClock;
-
- unsigned char LineBuffer[1028]; /* Draw buffer */
- unsigned char *LinePtr; /* To keep XAA amused */
} VoodooRec, *VoodooPtr;
#define TRUE 1
@@ -105,7 +96,6 @@ extern int VoodooHardwareInit(VoodooPtr pVoo);
extern int VoodooMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
extern void VoodooBlank(VoodooPtr pVoo);
extern int VoodooMemorySize(VoodooPtr pVoo);
-extern void Voodoo2XAAInit(ScreenPtr pScreen);
extern void VoodooSync(ScrnInfoPtr pScrn);
extern void VoodooReadBank(ScreenPtr pScreen, int bank);
extern void VoodooWriteBank(ScreenPtr pScreen, int bank);
diff --git a/src/voodoo_dga.c b/src/voodoo_dga.c
index a13c9e7..b0865dc 100644
--- a/src/voodoo_dga.c
+++ b/src/voodoo_dga.c
@@ -47,9 +47,6 @@
#include "vgaHW.h"
#include "compiler.h"
#include "dgaproc.h"
-#ifdef HAVE_XAA_H
-#include "xaa.h"
-#endif
#include "voodoo.h"
#define _XF86DGA_SERVER_
diff --git a/src/voodoo_driver.c b/src/voodoo_driver.c
index 01c2710..88de297 100644
--- a/src/voodoo_driver.c
+++ b/src/voodoo_driver.c
@@ -54,9 +54,6 @@
#include "xf86cmap.h"
#include "shadowfb.h"
#include "compiler.h"
-#ifdef HAVE_XAA_H
-#include "xaa.h"
-#endif
#include "voodoo.h"
#define _XF86DGA_SERVER_
@@ -555,11 +552,10 @@ VoodooPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
- if (!xf86LoadSubModule(pScrn, "xaa")) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
- pVoo->Accel = 0;
- pVoo->ShadowFB = 1;
- }
+ /* No acceleration support since XAA was removed */
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
+ pVoo->Accel = 0;
+ pVoo->ShadowFB = 1;
if(pVoo->ShadowFB)
{
@@ -672,9 +668,6 @@ VoodooScreenInit(SCREEN_INIT_ARGS_DECL)
VoodooDGAInit(pScrn, pScreen);
/* Activate accelerations */
- if(pVoo->Accel)
- Voodoo2XAAInit(pScreen);
-
xf86SetBackingStore(pScreen);
@@ -764,10 +757,6 @@ VoodooCloseScreen(CLOSE_SCREEN_ARGS_DECL)
VoodooRestore(pScrn, TRUE);
if(pVoo->ShadowPtr)
free(pVoo->ShadowPtr);
-#ifdef HAVE_XAA_H
- if(pVoo->AccelInfoRec)
- free(pVoo->AccelInfoRec);
-#endif
if (pVoo->pDGAMode) {
free(pVoo->pDGAMode);
pVoo->pDGAMode = NULL;
diff --git a/src/voodoo_hardware.c b/src/voodoo_hardware.c
index d1463e7..be33dd8 100644
--- a/src/voodoo_hardware.c
+++ b/src/voodoo_hardware.c
@@ -48,10 +48,6 @@
#include "vgaHW.h"
#include "compiler.h"
-#ifdef HAVE_XAA_H
-#include "xaa.h"
-#endif
-
#include "voodoo.h"
#include <X11/extensions/xf86dgaproto.h>
@@ -69,23 +65,6 @@
#include <unistd.h>
-#ifdef HAVE_XAA_H
-#if 0
-static void VoodooReadWriteBank(ScreenPtr pScreen, int bank);
-#endif
-static Bool VoodooSetupForCPUToScreenAlphaTexture(ScrnInfoPtr pScrn, int op,
- CARD16 red, CARD16 green, CARD16 blue, CARD16 alpha, int alphaType,
- CARD8 *alphaPtr, int alphaPitch, int width, int height, int flags);
-static void VoodooSubsequentCPUToScreenAlphaTexture(ScrnInfoPtr pScrn,
- int dstx, int dsty, int srcx, int srcy, int width, int height);
-static Bool VoodooSetupForCPUToScreenTexture(ScrnInfoPtr pScrn, int op,
- int texType, CARD8 *texPtr, int texPitch, int width, int height,
- int flags);
-static void VoodooSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn,
- int dstx, int dsty, int srcx, int srcy, int width, int height);
-
-static int debug = 0;
-#endif
/*
* Big endian might need to byteswap these ?
@@ -865,56 +844,6 @@ static void VoodooReadWriteBank(ScreenPtr pScreen, int bank)
mmio32_w(pVoo, 0x114, pVoo->lfbMode);
}
#endif
-
-#ifdef HAVE_XAA_H
-/*
- * We normally want to load all four rop variants at once so
- * the table is the 16bits for the lot equal.
- */
-
-static CARD16 ropxlate[16] = {
- 0x0000, /* GXclear */
- 0x8888, /* GXand */
- 0x4444, /* GXandReverse */
- 0xCCCC, /* GXcopy */
- 0x2222, /* GXandInverted */
- 0xAAAA, /* GXnop */
- 0x6666, /* GXxor */
- 0xEEEE, /* GXor */
- 0x1111, /* GXnor */
- 0x9999, /* GXequiv */
- 0x5555, /* GXinvert */
- 0xDDDD, /* GXorReverse */
- 0x3333, /* GXcopyInverted */
- 0xBBBB, /* GXorInverted */
- 0x7777, /* GXnand */
- 0xFFFF /* GXset */
-};
-
-/*
- * Transparent mask rops
- */
-
-static CARD16 tropxlate[16] = {
- 0xAA00, /* GXclear */
- 0xAA88, /* GXand */
- 0xAA44, /* GXandReverse */
- 0xAACC, /* GXcopy */
- 0xAA22, /* GXandInverted */
- 0xAAAA, /* GXnop */
- 0xAA66, /* GXxor */
- 0xAAEE, /* GXor */
- 0xAA11, /* GXnor */
- 0xAA99, /* GXequiv */
- 0xAA55, /* GXinvert */
- 0xAADD, /* GXorReverse */
- 0xAA33, /* GXcopyInverted */
- 0xAABB, /* GXorInverted */
- 0xAA77, /* GXnand */
- 0xAAFF /* GXset */
-};
-#endif
-
void VoodooSync(ScrnInfoPtr pScrn)
{
@@ -923,561 +852,3 @@ void VoodooSync(ScrnInfoPtr pScrn)
wait_idle(pVoo);
mmio32_w(pVoo, 0x10C, 0); /* Maybe flag this */
}
-
-#ifdef HAVE_XAA_H
-static void Voodoo2Setup2D(VoodooPtr pVoo)
-{
- wait_idle(pVoo);
-}
-
-static void Voodoo2SetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
- int xdir, int ydir, int rop,
- unsigned int planemask,
- int trans_color)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- Voodoo2Setup2D(pVoo);
- pVoo->BlitDirX = xdir;
- pVoo->BlitDirY = ydir;
-
- if(trans_color == -1)
- {
- mmio32_w_chuck(pVoo, 0x2EC, ropxlate[rop]); /* Set the rop */
- mmio32_w_chuck(pVoo, 0x2F8, 0 | (1<<14) | (1<<15) | (1<<16)); /* 16bpp no color compare */
- }
- else
- {
- mmio32_w_chuck(pVoo, 0x2EC, tropxlate[rop]); /* Transparent src rop */
- mmio32_w_chuck(pVoo, 0x2CC, (trans_color << 16) | trans_color); /* Match transparent colour */
- mmio32_w_chuck(pVoo, 0x2F8, 0 | (1<<10) | (1<<14) | (1<<15) | (1<<16)); /* 16bpp color compare */
- }
-}
-
-static void Voodoo2SubsequentScreenToScreenCopy(ScrnInfoPtr pScrn,
- int x1, int y1,
- int x2, int y2,
- int width, int height)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- wait_idle(pVoo);
- /* Adjust coordinates for backward blits */
- height --; /* Adjust for fenceposting in the hardware */
- width --;
- if(pVoo->BlitDirY < 0)
- {
- y1 += height;
- y2 += height;
- height = -height;
- }
- if(pVoo->BlitDirY < 0)
- {
- x1 += width;
- x2 += width;
- width = -width;
- }
- mmio32_w_chuck(pVoo, 0x2E0, (y1 << 16) | x1); /* Src x/y */
- mmio32_w_chuck(pVoo, 0x2E4, (y2 << 16) | x2); /* Dst x/y */
- /* Set size and fire */
- height &= 0xFFF;
- width &= 0xFFF;
- mmio32_w_chuck(pVoo, 0x2E8, (height << 16) | width | (1<<31));
-}
-
-static void Voodoo2SetupForSolidFill(ScrnInfoPtr pScrn, int color,
- int rop, unsigned int planemask)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- if (debug)
- ErrorF("Setup for solid fill colour %04X, rop %d, Mask %04X.\n",
- color, rop, planemask);
- Voodoo2Setup2D(pVoo);
- mmio32_w_chuck(pVoo, 0x2EC, ropxlate[rop]); /* rop */
- mmio32_w_chuck(pVoo, 0x2F0, color); /* fg color */
- mmio32_w_chuck(pVoo, 0x2F8, 2 | (1<<14) | (1<<15) | (0/*1*/<<16)); /* Solid fill 16bpp front */
-}
-
-static void Voodoo2SubsequentSolidFillRect(ScrnInfoPtr pScrn, int x, int y,
- int w, int h)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- if (debug)
- ErrorF("Fill (%d, %d) for (%d, %d)\n", x, y, w, h);
- wait_idle(pVoo);
- mmio32_w_chuck(pVoo, 0x2E4, (y<<16) | x); /* Dst x,y */
- /* Set size and fire */
- mmio32_w_chuck(pVoo, 0x2E8, ((h-1) << 16) | (w-1) | (1<<31));
-}
-
-
-/*
- * Colour expand fills are standard hardware goodies
- */
-
-static void Voodoo2SetupForScanlineCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
- int fg, int bg,
- int rop,
- unsigned int planemask)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- Voodoo2Setup2D(pVoo);
- mmio32_w_chuck(pVoo, 0x2EC, ropxlate[rop]); /* Pattern op */
- mmio32_w_chuck(pVoo, 0x2F0, fg | (bg << 16)); /* colors */
- if(bg != -1) /* Set transparent if needed */
- mmio32_w_chuck(pVoo, 0x2F8, 1 | (1<<14) | (1<<15) | (1<<16));
- else
- mmio32_w_chuck(pVoo, 0x2F8, 1 | (1<<14) | (1<<15) | (1<<16) | (1<<17));
-}
-
-static void Voodoo2SubsequentScanlineCPUToScreenColorExpandFill(ScrnInfoPtr pScrn,
- int x, int y, int w, int h,
- int skipleft)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- wait_idle(pVoo);
- mmio32_w_chuck(pVoo, 0x2E4, x | (y<<16)); /* destination */
- mmio32_w_chuck(pVoo, 0x2E8, (w-1) | ((h-1)<<16) | (1<<31)); /* fire */
- pVoo->texW = w;
-}
-
-static void Voodoo2SubsequentColorExpandScanline(ScrnInfoPtr pScrn, int bufno)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- CARD32 *data = (CARD32 *)pVoo->LineBuffer;
- int w = pVoo->texW;
- int i;
-
- wait_idle(pVoo);
- for(i = 0; i < w; i += 32) /* Each dword is 32 pixels mask */
- mmio32_w(pVoo, 0x2FC, *data++);
-}
-
-static void Voodoo2SetupForMono8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty,
- int fg, int bg, int rop, unsigned int planemask)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- Voodoo2Setup2D(pVoo);
- mmio32_w_chuck(pVoo, 0x2EC, ropxlate[rop]);
- mmio32_w_chuck(pVoo, 0x2F0, fg | (bg << 16));
- if(bg != -1)
- mmio32_w_chuck(pVoo, 0x2F8, 1 | (1<<14) | (1<<15) | (1<<16));
- else
- mmio32_w_chuck(pVoo, 0x2F8, 1 | (1<<14) | (1<<15) | (1<<16) | (1<<17));
-}
-
-/*
- * We don't have pattern fill hardware but for any operation that
- * references dst it is going to be faster to use the hardware
- * and simply upload the pattern a lot as we avoid reading
- * video memory. GXcopy ought to be the same either way.
- */
-
-static __inline__ CARD32 spread(CARD32 v)
-{
- return v * 16843009;
-}
-
-static void Voodoo2SubsequentMono8x8PatternFillRect(ScrnInfoPtr pScrn, int patx, int paty,
- int x, int y, int w, int h)
-{
- int ln = 0;
- CARD32 l[8];
- VoodooPtr pVoo = VoodooPTR(pScrn);
-
- wait_idle(pVoo);
-
- if( w <3)
- return;
-
- mmio32_w_chuck(pVoo, 0x2E4, x | (y<<16));
- mmio32_w_chuck(pVoo, 0x2E8, (w - 1) | ((h - 1)<<16) | (1<<31));
-
- /* Turn the pattern into 32x8 for the expansion engine */
- l[0] = spread((patx >> 24) & 0xFF);
- l[1] = spread((patx >> 16) & 0xFF);
- l[2] = spread((patx >> 8) & 0xFF);
- l[3] = spread(patx & 0xFF);
-
- l[4] = spread((paty >> 24) & 0xFF);
- l[5] = spread((paty >> 16) & 0xFF);
- l[6] = spread((paty >> 8) & 0xFF);
- l[7] = spread(paty & 0xFF);
-
- while(h > 0)
- {
- int i;
- for(i = 0; i < w; i += 32) /* DWORD pad */
- mmio32_w_chuck(pVoo, 0x2FC, l[ln]);
- wait_idle(pVoo);
- ln = (ln + 1) & 7;
- h--;
- }
-}
-
-/*
- * The XAA layer uses video memory as the basis for colour pattern
- * fill, so we can't usefully perform it.
- */
-
-static void Voodoo2SetupForSolidLine(ScrnInfoPtr pScrn, int color, int rop,
- unsigned int planemask)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- Voodoo2Setup2D(pVoo);
- mmio32_w_chuck(pVoo, 0x2CC, color);
- mmio32_w_chuck(pVoo, 0x2EC, ropxlate[rop]);
- mmio32_w_chuck(pVoo, 0x2F8, 2 | (1<<14) | (1<<15) | (1<<16)); /* Solid fill 16 bpp front */
-}
-
-static void Voodoo2SubsequentSolidHorVertLine(ScrnInfoPtr pScrn, int x, int y, int len, int dir)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- wait_idle(pVoo);
- mmio32_w_chuck(pVoo, 0x2E4, (y<<16) | x); /* Dst x,y */
- if(dir == DEGREES_0)
- mmio32_w_chuck(pVoo, 0x2E8, (len - 1) | (1<<31));
- else
- mmio32_w_chuck(pVoo, 0x2E8, ((len - 1) << 16) | (1<<31));
-}
-
-static void Voodoo2SetupForScanlineImageWrite(ScrnInfoPtr pScrn, int rop,
- unsigned int planemask, int trans_color,
- int bpp, int depth)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- Voodoo2Setup2D(pVoo);
- if(trans_color != -1)
- {
- mmio32_w_chuck(pVoo, 0x2CC, (trans_color << 16) | trans_color);
- mmio32_w_chuck(pVoo, 0x2EC, tropxlate[rop]);
- mmio32_w_chuck(pVoo, 0x2F8, 1 | (2<<3) | (1<<10) | (1<<14) | (1<<15) | (1<<16));
- }
- else
- {
- mmio32_w_chuck(pVoo, 0x2EC, ropxlate[rop]);
- mmio32_w_chuck(pVoo, 0x2F8, 1 | (2<<3) | (1<<14) | (1<<15) | (1<<16));
- }
- if(debug)
- ErrorF("Setup for image write rop %d col %d bpp %d depth %d\n",
- rop, trans_color, bpp, depth);
-}
-
-static void Voodoo2SubsequentImageWriteRect(ScrnInfoPtr pScrn,
- int x, int y,
- int w, int h,
- int skipleft)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- wait_idle(pVoo);
- mmio32_w_chuck(pVoo, 0x2E4, x | (y<<16));
- mmio32_w_chuck(pVoo, 0x2E8, (w - 1) | ((h - 1)<<16) | (1<<31));
- if(debug)
- ErrorF("Image Write (%d,%d) [%d,%d]\n", x,y,w,h);
- pVoo->texW = w;
-}
-
-static void Voodoo2SubsequentImageWriteScanline(ScrnInfoPtr pScrn, int bufno)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- CARD32 *data = (CARD32 *)pVoo->LineBuffer;
- int w = pVoo->texW;
- int i;
-
- wait_idle(pVoo);
- for(i = 0; i < w; i += 2)
- mmio32_w(pVoo, 0x2FC, *data++);
-}
-
-static void Voodoo2SetClippingRectangle(ScrnInfoPtr pScrn,
- int left, int top, int right, int bottom)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- if(debug)
- ErrorF("Clip to (%d,%d)-(%d,%d)\n", left,top,right,bottom);
- mmio32_w_chuck(pVoo, 0x2D4, (left << 16) | right);
- mmio32_w_chuck(pVoo, 0x2D8, (top << 16 ) | bottom);
-}
-
-static void Voodoo2DisableClipping(ScrnInfoPtr pScrn)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- /* FIXME: pVoo->FullHeight for the cache ! */
- if(debug)
- ErrorF("Clip to (0,0)-(%d,%d)\n", (int)pVoo->Width, (int)pVoo->Height);
- mmio32_w_chuck(pVoo, 0x2D4, pVoo->Width);
- mmio32_w_chuck(pVoo, 0x2D8, pVoo->FullHeight);
-}
-
-/*
- * TODO: Implement 2D line acceleration using the 3D engines
- */
-
-#ifdef RENDER
-
-/*
- * Render acceleration. All Voodoo chips support cpu driver alpha
- * composite to the frame buffer. This is presumably meant for software
- * fallbacks on rendering 3D but happens to be very useful to avoid
- * some render operations reading from the frame buffer as much
- *
- * Possibly we could the 3D engine for this once we get it working.
- * We can't however use the 2D engine much as it lacks Alpha
- */
-
-
-static Bool VoodooSetupForCPUToScreenAlphaTexture(ScrnInfoPtr pScrn, int op,
- CARD16 red, CARD16 green, CARD16 blue, CARD16 alpha, int alphaType,
- CARD8 *alphaPtr, int alphaPitch, int width, int height, int flags)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
-
- pVoo->alphaType = alphaType;
- pVoo->alphaPitch = alphaPitch;
- pVoo->alphaPtr = alphaPtr;
- pVoo->alphaW = width;
- pVoo->alphaH = height;
- pVoo->alphaC = (red & 0xFF00) << 8 | (green & 0xFF00) | blue >> 8;
-
- if(op != PictOpOver && op != PictOpSrc)
- return FALSE;
-
- if(debug)
- ErrorF("Supported CPU To Screen Alpha Texture (%d) -> %d,%d\n", op, width, height);
- wait_idle(pVoo);
- if(op == PictOpSrc)
- pVoo->alpha = 0;
- else /* dst = src * srcalpha + (1-a) * dst */
- pVoo->alpha = (1<<4) | (1<<8) | (5<<12);
-
- return TRUE;
-}
-
-static void VoodooSubsequentCPUToScreenAlphaTexture(ScrnInfoPtr pScrn,
- int dstx, int dsty, int srcx, int srcy, int width, int height)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- /* 32bit LFB write mode */
- CARD32 *fb = (CARD32 *)(pVoo->FBBase + 4096 * dsty + 4 * dstx);
- CARD8 *db = pVoo->alphaPtr + pVoo->alphaW * srcy + srcx;
- int x, y;
- CARD32 *fdb;
- CARD8 *cdb;
- CARD32 colour = pVoo->alphaC;
- int dw, dh;
- int w, h;
-
- mmio32_w(pVoo, 0x10C, pVoo->alpha);
- mmio32_w(pVoo, 0x110, 1 | (1<<9));
- mmio32_w(pVoo, 0x114, (1<<8) | 5); /* ARGB888 */
-
- dh = srcy;
- w = pVoo->alphaW;
- h = pVoo->alphaH;
-
- for(y = 0; y < height; y++)
- {
- cdb = db;
- fdb = fb;
-
- dw = srcx;
- for(x = 0; x < width; x++)
- {
- *fdb++ = (*cdb++<< 24) | colour;
- if(++dw == w)
- {
- dw = 0;
- cdb -= pVoo->alphaW;
- }
- }
- db += pVoo->alphaW;
- fb += 1024;
- if(++dh == h)
- {
- db = pVoo->alphaPtr + srcx;
- dh = 0;
- }
- }
- mmio32_w(pVoo, 0x114, pVoo->lfbMode);
- mmio32_w(pVoo, 0x10C, 0);
-}
-
-static Bool VoodooSetupForCPUToScreenTexture(ScrnInfoPtr pScrn, int op,
- int texType, CARD8 *texPtr, int texPitch, int width, int height,
- int flags)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
-
- if(op != PictOpOver && op != PictOpSrc)
- return FALSE; /* For now */
-
- if(debug)
- ErrorF("Supported CPU TO Screen Texture (%d) -> %d,%d\n", op, width, height);
- pVoo->texType = texType;
- pVoo->texPitch = texPitch;
- pVoo->texPtr = texPtr;
- pVoo->texW = width;
- pVoo->texH = height;
-
- wait_idle(pVoo);
- if(op == PictOpSrc || texType == PICT_x8r8g8b8)
- pVoo->alpha = 0;
- else
- pVoo->alpha = (1<<4) | (1<<8) | (5<<12);
-
- return TRUE;
-}
-
-static void VoodooSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn,
- int dstx, int dsty, int srcx, int srcy, int width, int height)
-{
- VoodooPtr pVoo = VoodooPTR(pScrn);
- /* 32bit LFB write mode */
- CARD32 *fb = (CARD32 *)(pVoo->FBBase + 4096 * dsty + 4 * dstx);
- CARD32 *db = ((CARD32 *)(pVoo->texPtr)) + pVoo->texW * srcy + srcx;
- int x, y;
- CARD32 *cdb, *fdb;
- int dw, dh;
- int w, h;
-
- mmio32_w(pVoo, 0x10C, pVoo->alpha);
- mmio32_w(pVoo, 0x110, 1 | (1<<9));
-
- if(pVoo->texType == PICT_a8r8g8b8)
- mmio32_w(pVoo, 0x114, (1<<8) | 5); /* ARGB888 */
- else if(pVoo->texType == PICT_x8r8g8b8)
- mmio32_w(pVoo, 0x114, (1<<8) | 4); /* xRGB888 */
- else ErrorF("BOGOFORMAT\n");
-
- dh = srcy;
- w = pVoo->texW;
- h = pVoo->texH;
-
- if(debug)
- ErrorF("CPUToScreenTexture (%d,%d)->(%d,%d)[%d,%d]\n",
- srcx,srcy,dstx,dsty,width,height);
- /*
- * Tiled software render letting hardware do the read merge
- * that we don't want the CPU to do.
- */
-
- for(y = 0; y < height; y++)
- {
- cdb = db;
- fdb = fb;
- dw = srcx;
- for(x = 0; x < width; x++)
- {
- *fdb++ = *cdb++;
-
- if(++dw == w)
- {
- dw = 0;
- cdb -= pVoo->texW;
- }
- }
- db += pVoo->texW;
- fb += 1024;
- dh ++;
- if(dh == h)
- {
- db = ((CARD32 *)pVoo->texPtr) + srcx;
- dh = 0;
- }
- }
- mmio32_w(pVoo, 0x114, pVoo->lfbMode);
- mmio32_w(pVoo, 0x10C, 0);
-}
-
-CARD32 VoodooAlphaTextureFormats[2] = {PICT_a8, 0};
-CARD32 VoodooTextureFormats[3] = {PICT_a8r8g8b8, PICT_x8r8g8b8, 0};
-
-#endif
-#endif
-
-void Voodoo2XAAInit(ScreenPtr pScreen)
-{
-#ifdef HAVE_XAA_H
- ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
- VoodooPtr pVoo = VoodooPTR(pScrn);
- XAAInfoRecPtr pAccel = XAACreateInfoRec();
- BoxRec cacheArea;
-
- pAccel->Flags = OFFSCREEN_PIXMAPS|LINEAR_FRAMEBUFFER;
- pAccel->Sync = VoodooSync;
-
- pAccel->ScreenToScreenCopyFlags = NO_PLANEMASK;
- pAccel->SetupForScreenToScreenCopy = Voodoo2SetupForScreenToScreenCopy;
- pAccel->SubsequentScreenToScreenCopy = Voodoo2SubsequentScreenToScreenCopy;
-
- pAccel->SolidFillFlags = NO_PLANEMASK;
- pAccel->SetupForSolidFill = Voodoo2SetupForSolidFill;
- pAccel->SubsequentSolidFillRect = Voodoo2SubsequentSolidFillRect;
-
- pAccel->ScanlineCPUToScreenColorExpandFillFlags =
- BIT_ORDER_IN_BYTE_MSBFIRST | NO_PLANEMASK |
- SCANLINE_PAD_DWORD | CPU_TRANSFER_BASE_FIXED;
- pAccel->SetupForScanlineCPUToScreenColorExpandFill =
- Voodoo2SetupForScanlineCPUToScreenColorExpandFill;
- pAccel->SubsequentScanlineCPUToScreenColorExpandFill =
- Voodoo2SubsequentScanlineCPUToScreenColorExpandFill;
- pAccel->SubsequentColorExpandScanline =
- Voodoo2SubsequentColorExpandScanline;
-
- pAccel->NumScanlineColorExpandBuffers = 1;
- pVoo->LinePtr = pVoo->LineBuffer;
- pAccel->ScanlineColorExpandBuffers = &pVoo->LinePtr;
-
- pAccel->SetupForSolidLine = Voodoo2SetupForSolidLine;
- pAccel->SubsequentSolidHorVertLine = Voodoo2SubsequentSolidHorVertLine;
- pAccel->SolidLineFlags = NO_PLANEMASK;
-
- pAccel->Mono8x8PatternFillFlags = HARDWARE_PATTERN_PROGRAMMED_BITS;
- pAccel->SetupForMono8x8PatternFill = Voodoo2SetupForMono8x8PatternFill;
- pAccel->SubsequentMono8x8PatternFillRect = Voodoo2SubsequentMono8x8PatternFillRect;
-
- pAccel->ScanlineImageWriteFlags = NO_PLANEMASK;
- pAccel->SetupForScanlineImageWrite = Voodoo2SetupForScanlineImageWrite;
- pAccel->SubsequentImageWriteRect = Voodoo2SubsequentImageWriteRect;
- pAccel->SubsequentImageWriteScanline = Voodoo2SubsequentImageWriteScanline;
-
- pAccel->ClippingFlags =
- HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND |
- HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY |
- HARDWARE_CLIP_MONO_8x8_FILL |
- HARDWARE_CLIP_SOLID_FILL;
-
- pAccel->SetClippingRectangle = Voodoo2SetClippingRectangle;
- pAccel->DisableClipping = Voodoo2DisableClipping;
-
-#ifdef RENDER
- pAccel->CPUToScreenAlphaTextureFlags = 0;
- pAccel->SetupForCPUToScreenAlphaTexture = VoodooSetupForCPUToScreenAlphaTexture;
- pAccel->SubsequentCPUToScreenAlphaTexture = VoodooSubsequentCPUToScreenAlphaTexture;
-
- pAccel->CPUToScreenTextureFlags = 0;
- pAccel->SetupForCPUToScreenTexture = VoodooSetupForCPUToScreenTexture;
- pAccel->SubsequentCPUToScreenTexture = VoodooSubsequentCPUToScreenTexture;
-
- pAccel->CPUToScreenTextureFormats = VoodooTextureFormats;
- pAccel->CPUToScreenAlphaTextureFormats = VoodooAlphaTextureFormats;
-#endif
-
- cacheArea.x1 = 0;
- cacheArea.x2 = pScrn->displayWidth;
- cacheArea.y1 = pVoo->Height;
- cacheArea.y2 = (pScrn->videoRam * 1024) / (pVoo->Tiles * 64);
- if(cacheArea.y2 > 2047)
- cacheArea.y2 = 2047;
-
- if(cacheArea.y2 > cacheArea.y1)
- {
- xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT, "Using %d lines of pixmap cache.\n", cacheArea.y2-cacheArea.y1);
- pAccel->Flags |= PIXMAP_CACHE;
- pVoo->FullHeight = cacheArea.y2;
- xf86InitFBManager(pScreen, &cacheArea);
- }
- if( XAAInit(pScreen, pAccel) == FALSE)
- ErrorF("Unable to set up acceleration.\n");
-
- Voodoo2DisableClipping(pScrn);
-#endif
-}
--
2.43.0

92
0014-drop-dead-code.patch Normal file
View File

@ -0,0 +1,92 @@
From 4f34e3c1b12127f985be6073f59b68bb482236d5 Mon Sep 17 00:00:00 2001
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
Date: Fri, 24 May 2024 20:04:48 +0200
Subject: [PATCH 14/15] drop dead code
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/9>
---
configure.ac | 1 -
src/voodoo_hardware.c | 41 -----------------------------------------
2 files changed, 42 deletions(-)
diff --git a/configure.ac b/configure.ac
index 827d293..8818f24 100644
--- a/configure.ac
+++ b/configure.ac
@@ -83,7 +83,6 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
fi
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
-
AC_SUBST([moduledir])
DRIVER_NAME=voodoo
diff --git a/src/voodoo_hardware.c b/src/voodoo_hardware.c
index be33dd8..6305b35 100644
--- a/src/voodoo_hardware.c
+++ b/src/voodoo_hardware.c
@@ -65,7 +65,6 @@
#include <unistd.h>
-
/*
* Big endian might need to byteswap these ?
*/
@@ -754,25 +753,6 @@ void VoodooCopy24(VoodooPtr pVoo, CARD32 x1, CARD32 y1, CARD32 w, CARD32 h, CARD
void VoodooClear(VoodooPtr pVoo)
{
memset(pVoo->FBBase,0, 0x400000);
-#if 0
- /*
- * We can't do this as the 3D engine setup is not
- * done by this driver..
- */
- mmio32_w(pVoo, 0x130, 0); /* No Alpha ! */
-
- mmio32_w(pVoo, 0x118, pVoo->Width);
- mmio32_w(pVoo, 0x11C, pVoo->Height << 16);
- /* On entry we know Clip is set correctly so we will clear the lot */
- mmio32_w(pVoo, 0x148, 0xC0C0C0); /* RGB888 black */
- mmio32_w(pVoo, 0x130, 0xFFFF); /* I think ?? */
- /* We want to write to screen and depth, front buffer, and no dither */
- mmio32_w(pVoo, 0x110, (mmio32_r(pVoo, 0x110) | 0x601) & 0xFFE00EE1);
- /* Fire */
- mmio32_w(pVoo, 0x124, 1);
- wait_idle(pVoo);
- /* In case X decides to read the LFB before clear finishes */
-#endif
}
/*
@@ -824,27 +804,6 @@ void VoodooWriteBank(ScreenPtr pScreen, int bank)
mmio32_w(pVoo, 0x114, pVoo->lfbMode);
}
-#if 0
-static void VoodooReadWriteBank(ScreenPtr pScreen, int bank)
-{
- ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
- VoodooPtr pVoo = VoodooPTR(pScrn);
- if(bank)
- {
- mmio32_w(pVoo, 0x2C0, pVoo->Height);
- mmio32_w(pVoo, 0x2C4, pVoo->Height);
- pVoo->lfbMode |= (1<<4) | (1<<6);
- }
- else
- {
- mmio32_w(pVoo, 0x2C0, 0);
- mmio32_w(pVoo, 0x2C4, 0);
- pVoo->lfbMode &= ~((1<<4) | (1<<6));
- }
- mmio32_w(pVoo, 0x114, pVoo->lfbMode);
-}
-#endif
-
void VoodooSync(ScrnInfoPtr pScrn)
{
VoodooPtr pVoo = VoodooPTR(pScrn);
--
2.43.0

View File

@ -0,0 +1,218 @@
From c70353ddf49d557c596a47b835b6b8d8bbe35ebe Mon Sep 17 00:00:00 2001
From: "Enrico Weigelt, metux IT consult" <info@metux.net>
Date: Tue, 28 May 2024 10:43:35 +0200
Subject: [PATCH 15/15] drop remains of old compat code
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/merge_requests/9>
---
src/Makefile.am | 1 -
src/compat-api.h | 58 ---------------------------------------------
src/voodoo.h | 2 --
src/voodoo_dga.c | 2 +-
src/voodoo_driver.c | 30 ++++++++++-------------
5 files changed, 14 insertions(+), 79 deletions(-)
delete mode 100644 src/compat-api.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 7a6d4d9..04e9ea5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,7 +29,6 @@ voodoo_drv_la_LDFLAGS = -module -avoid-version
voodoo_drv_ladir = @moduledir@/drivers
voodoo_drv_la_SOURCES = \
- compat-api.h \
voodoo_dga.c \
voodoo_driver.c \
voodoo.h \
diff --git a/src/compat-api.h b/src/compat-api.h
deleted file mode 100644
index 2376b25..0000000
--- a/src/compat-api.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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 <airlied@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
-
-#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 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
diff --git a/src/voodoo.h b/src/voodoo.h
index 772b3b6..9667081 100644
--- a/src/voodoo.h
+++ b/src/voodoo.h
@@ -1,8 +1,6 @@
#include "voodoo_pcirename.h"
#include <string.h>
-#include "compat-api.h"
-
typedef struct {
CARD32 m;
CARD32 n;
diff --git a/src/voodoo_dga.c b/src/voodoo_dga.c
index b0865dc..d1cb891 100644
--- a/src/voodoo_dga.c
+++ b/src/voodoo_dga.c
@@ -96,7 +96,7 @@ static Bool VoodooDGASetMode(ScrnInfoPtr pScrn, DGAModePtr pDGAMode)
return TRUE;
}
- if (!(*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pMode)))
+ if (!(*pScrn->SwitchMode)(pScrn, pMode))
return FALSE;
return TRUE;
}
diff --git a/src/voodoo_driver.c b/src/voodoo_driver.c
index 88de297..8f336c6 100644
--- a/src/voodoo_driver.c
+++ b/src/voodoo_driver.c
@@ -72,15 +72,15 @@ static const OptionInfoRec * VoodooAvailableOptions(int chipid, int busid);
static void VoodooIdentify(int flags);
static Bool VoodooProbe(DriverPtr drv, int flags);
static Bool VoodooPreInit(ScrnInfoPtr pScrn, int flags);
-static Bool VoodooScreenInit(SCREEN_INIT_ARGS_DECL);
-static Bool VoodooEnterVT(VT_FUNC_ARGS_DECL);
-static void VoodooLeaveVT(VT_FUNC_ARGS_DECL);
-static Bool VoodooCloseScreen(CLOSE_SCREEN_ARGS_DECL);
+static Bool VoodooScreenInit(ScreenPtr pScreen, int argc, char **argv);
+static Bool VoodooEnterVT(ScrnInfoPtr pScrn);
+static void VoodooLeaveVT(ScrnInfoPtr pScrn);
+static Bool VoodooCloseScreen(ScreenPtr pScreen);
static Bool VoodooSaveScreen(ScreenPtr pScreen, int mode);
-static void VoodooFreeScreen(FREE_SCREEN_ARGS_DECL);
+static void VoodooFreeScreen(ScrnInfoPtr arg);
static void VoodooRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
static void VoodooRefreshArea24(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
-static Bool VoodooSwitchMode(SWITCH_MODE_ARGS_DECL);
+static Bool VoodooSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode);
static Bool VoodooModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
static void VoodooRestore(ScrnInfoPtr pScrn, Bool Closing);
@@ -572,7 +572,7 @@ VoodooPreInit(ScrnInfoPtr pScrn, int flags)
/* Mandatory */
/* This gets called at the start of each server generation */
static Bool
-VoodooScreenInit(SCREEN_INIT_ARGS_DECL)
+VoodooScreenInit(ScreenPtr pScreen, int argc, char **argv)
{
ScrnInfoPtr pScrn;
VoodooPtr pVoo;
@@ -718,9 +718,8 @@ VoodooScreenInit(SCREEN_INIT_ARGS_DECL)
/* Mandatory */
static Bool
-VoodooEnterVT(VT_FUNC_ARGS_DECL)
+VoodooEnterVT(ScrnInfoPtr pScrn)
{
- SCRN_INFO_PTR(arg);
return VoodooModeInit(pScrn, pScrn->currentMode);
}
@@ -733,9 +732,8 @@ VoodooEnterVT(VT_FUNC_ARGS_DECL)
/* Mandatory */
static void
-VoodooLeaveVT(VT_FUNC_ARGS_DECL)
+VoodooLeaveVT(ScrnInfoPtr pScrn)
{
- SCRN_INFO_PTR(arg);
VoodooRestore(pScrn, FALSE);
}
@@ -748,7 +746,7 @@ VoodooLeaveVT(VT_FUNC_ARGS_DECL)
/* Mandatory */
static Bool
-VoodooCloseScreen(CLOSE_SCREEN_ARGS_DECL)
+VoodooCloseScreen(ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VoodooPtr pVoo = VoodooPTR(pScrn);
@@ -766,7 +764,7 @@ VoodooCloseScreen(CLOSE_SCREEN_ARGS_DECL)
pScrn->vtSema = FALSE;
pScreen->CloseScreen = pVoo->CloseScreen;
- return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
+ return (*pScreen->CloseScreen)(pScreen);
}
@@ -774,9 +772,8 @@ VoodooCloseScreen(CLOSE_SCREEN_ARGS_DECL)
/* Optional */
static void
-VoodooFreeScreen(FREE_SCREEN_ARGS_DECL)
+VoodooFreeScreen(ScrnInfoPtr pScrn)
{
- SCRN_INFO_PTR(arg);
VoodooPtr pVoo = VoodooPTR(pScrn);
/*
* This only gets called when a screen is being deleted. It does not
@@ -860,9 +857,8 @@ VoodooModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
* this is needed but it does no harm.
*/
-static Bool VoodooSwitchMode(SWITCH_MODE_ARGS_DECL)
+static Bool VoodooSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
- SCRN_INFO_PTR(arg);
VoodooSync(pScrn);
return VoodooModeInit(pScrn, mode);
}
--
2.43.0

12
u_buildfix.patch Normal file
View File

@ -0,0 +1,12 @@
diff -u -r xf86-video-voodoo-1.2.6.old/src/voodoo_hardware.c xf86-video-voodoo-1.2.6/src/voodoo_hardware.c
--- xf86-video-voodoo-1.2.6.old/src/voodoo_hardware.c 2024-12-11 17:27:10.628925000 +0100
+++ xf86-video-voodoo-1.2.6/src/voodoo_hardware.c 2024-12-11 17:29:56.398752000 +0100
@@ -144,7 +144,7 @@
static void pci_enable(VoodooPtr pVoo, int wr, int dac, int fifo)
{
CARD32 x;
- PCI_READ_LONG(pVoo->PciInfo, &x, 0x40);
+ PCI_READ_LONG(pVoo->PciInfo, (uint32_t *) &x, 0x40);
x &= ~7;
x |= wr;
x |= fifo<<1;

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Wed Dec 11 16:10:06 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- 0002-configure-Use-LT_INIT-from-libtool-2-instead-of-depr.patch
0003-Add-X.Org-s-standard-C-warning-flags-to-AM_CFLAGS.patch
0004-Quiet-Wredundant-decls-from-xorg-os.h-fallbacks-for-.patch
0005-Fix-3-Wunused-but-set-variable-warnings.patch
0006-Fix-4-Wunused-variable-warnings.patch
0007-voodoo_find_dac-doesn-t-check-device_ids-2.patch
0008-use-XNFalloc-instead-of-xnfalloc.patch
0009-use-XNFcallocarray-instead-of-xnfcalloc-macro.patch
0010-bump-minimal-xorg-version-to-1.18.patch
0011-drop-compat-with-ancient-xserver-versions.patch
0012-Drop-ifdefs-for-ABI_VIDEODRV_VERSION-6.patch
0013-Remove-XAA-support.patch
0014-drop-dead-code.patch
0015-drop-remains-of-old-compat-code.patch
* latest changes to fix build against current xserver
- u_buildfix.patch
* fixes build on i586 (hopefully)
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Dec 18 15:32:28 UTC 2022 - Dirk Müller <dmueller@suse.com> Sun Dec 18 15:32:28 UTC 2022 - Dirk Müller <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package xf86-video-voodoo # spec file for package xf86-video-voodoo
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2024 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -26,6 +26,23 @@ URL: https://xorg.freedesktop.org/
Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.xz Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.xz
Source1: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.xz.sig Source1: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.xz.sig
Source2: xf86-video-voodoo.keyring Source2: xf86-video-voodoo.keyring
Patch2: 0002-configure-Use-LT_INIT-from-libtool-2-instead-of-depr.patch
Patch3: 0003-Add-X.Org-s-standard-C-warning-flags-to-AM_CFLAGS.patch
Patch4: 0004-Quiet-Wredundant-decls-from-xorg-os.h-fallbacks-for-.patch
Patch5: 0005-Fix-3-Wunused-but-set-variable-warnings.patch
Patch6: 0006-Fix-4-Wunused-variable-warnings.patch
Patch7: 0007-voodoo_find_dac-doesn-t-check-device_ids-2.patch
Patch8: 0008-use-XNFalloc-instead-of-xnfalloc.patch
Patch9: 0009-use-XNFcallocarray-instead-of-xnfcalloc-macro.patch
Patch10: 0010-bump-minimal-xorg-version-to-1.18.patch
Patch11: 0011-drop-compat-with-ancient-xserver-versions.patch
Patch12: 0012-Drop-ifdefs-for-ABI_VIDEODRV_VERSION-6.patch
Patch13: 0013-Remove-XAA-support.patch
Patch14: 0014-drop-dead-code.patch
Patch15: 0015-drop-remains-of-old-compat-code.patch
Patch20: u_buildfix.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: pkgconfig(fontsproto) BuildRequires: pkgconfig(fontsproto)
BuildRequires: pkgconfig(pciaccess) >= 0.8.0 BuildRequires: pkgconfig(pciaccess) >= 0.8.0
@ -77,9 +94,10 @@ display size. This is a hardware limitation. 3D rendering is also not
supported. supported.
%prep %prep
%setup -q %autosetup -p1
%build %build
autoreconf --force
%configure %configure
%make_build %make_build