- 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
This commit is contained in:
commit
89f97d561d
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
@ -0,0 +1,38 @@
|
||||
From 59113321b1eb9b5d476861a0ff82b08cd534365c Mon Sep 17 00:00:00 2001
|
||||
From: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Date: Fri, 6 Oct 2023 14:36:33 -0700
|
||||
Subject: [PATCH 01/15] gitlab CI: ensure libtool is installed in build
|
||||
container
|
||||
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
---
|
||||
.gitlab-ci.yml | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||||
index 35a3702..564e281 100644
|
||||
--- a/.gitlab-ci.yml
|
||||
+++ b/.gitlab-ci.yml
|
||||
@@ -4,7 +4,7 @@
|
||||
# Please see the ci-templates documentation for details:
|
||||
# https://freedesktop.pages.freedesktop.org/ci-templates/
|
||||
|
||||
-.templates_sha: &template_sha 34f4ade99434043f88e164933f570301fd18b125 # see https://docs.gitlab.com/ee/ci/yaml/#includefile
|
||||
+.templates_sha: &template_sha 25e8e9f020880aa35fffe3d6b259b933f0f9449f # see https://docs.gitlab.com/ee/ci/yaml/#includefile
|
||||
|
||||
|
||||
include:
|
||||
@@ -30,8 +30,8 @@ variables:
|
||||
# The tag should be updated each time the list of packages is updated.
|
||||
# Changing a tag forces the associated image to be rebuilt.
|
||||
# Note: the tag has no meaning, we use a date format purely for readability
|
||||
- FDO_DISTRIBUTION_TAG: '2022-01-30.0'
|
||||
- FDO_DISTRIBUTION_PACKAGES: 'git gcc pkgconf autoconf automake make xorg-util-macros xorgproto xorg-server-devel pixman libpciaccess'
|
||||
+ FDO_DISTRIBUTION_TAG: '2023-10-06.0'
|
||||
+ FDO_DISTRIBUTION_PACKAGES: 'git gcc pkgconf autoconf automake libtool make xorg-util-macros xorgproto xorg-server-devel pixman libpciaccess'
|
||||
|
||||
|
||||
#
|
||||
--
|
||||
2.43.0
|
||||
|
@ -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
|
||||
|
26
0003-Add-X.Org-s-standard-C-warning-flags-to-AM_CFLAGS.patch
Normal file
26
0003-Add-X.Org-s-standard-C-warning-flags-to-AM_CFLAGS.patch
Normal 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
|
||||
|
@ -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
|
||||
|
59
0005-Fix-3-Wunused-but-set-variable-warnings.patch
Normal file
59
0005-Fix-3-Wunused-but-set-variable-warnings.patch
Normal 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
|
||||
|
56
0006-Fix-4-Wunused-variable-warnings.patch
Normal file
56
0006-Fix-4-Wunused-variable-warnings.patch
Normal 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
|
||||
|
31
0007-voodoo_find_dac-doesn-t-check-device_ids-2.patch
Normal file
31
0007-voodoo_find_dac-doesn-t-check-device_ids-2.patch
Normal 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
|
||||
|
30
0008-use-XNFalloc-instead-of-xnfalloc.patch
Normal file
30
0008-use-XNFalloc-instead-of-xnfalloc.patch
Normal 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
|
||||
|
39
0009-use-XNFcallocarray-instead-of-xnfcalloc-macro.patch
Normal file
39
0009-use-XNFcallocarray-instead-of-xnfcalloc-macro.patch
Normal 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
|
||||
|
30
0010-bump-minimal-xorg-version-to-1.18.patch
Normal file
30
0010-bump-minimal-xorg-version-to-1.18.patch
Normal 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
|
||||
|
72
0011-drop-compat-with-ancient-xserver-versions.patch
Normal file
72
0011-drop-compat-with-ancient-xserver-versions.patch
Normal 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
|
||||
|
31
0012-Drop-ifdefs-for-ABI_VIDEODRV_VERSION-6.patch
Normal file
31
0012-Drop-ifdefs-for-ABI_VIDEODRV_VERSION-6.patch
Normal 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
|
||||
|
818
0013-Remove-XAA-support.patch
Normal file
818
0013-Remove-XAA-support.patch
Normal 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
92
0014-drop-dead-code.patch
Normal 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
|
||||
|
218
0015-drop-remains-of-old-compat-code.patch
Normal file
218
0015-drop-remains-of-old-compat-code.patch
Normal 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
|
||||
|
3
xf86-video-voodoo-1.2.6.tar.xz
Normal file
3
xf86-video-voodoo-1.2.6.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:622973f03ac0bd0c854794ebeac268f15f4f831ec0dbe36e6cfa2b65042af602
|
||||
size 276472
|
BIN
xf86-video-voodoo-1.2.6.tar.xz.sig
Normal file
BIN
xf86-video-voodoo-1.2.6.tar.xz.sig
Normal file
Binary file not shown.
74
xf86-video-voodoo.changes
Normal file
74
xf86-video-voodoo.changes
Normal file
@ -0,0 +1,74 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 11 16:10:06 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
|
||||
|
||||
- 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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 18 15:32:28 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 1.2.6:
|
||||
* Remove miInitializeBackingStore
|
||||
Stop using deprecated xf86PciInfo.h
|
||||
Fix spelling/wording issues
|
||||
Build xz tarballs instead of bzip2
|
||||
Update configure.ac bug URL for gitlab migration
|
||||
autogen: add default patch prefix
|
||||
autogen.sh: use quoted string variables
|
||||
autogen.sh: use exec instead of waiting for configure to finish
|
||||
autogen.sh: Honor NOCONFIGURE=1
|
||||
configure: Drop AM_MAINTAINER_MODE
|
||||
don't use PCITAG in struct anymore
|
||||
- drop U_don-t-use-PCITAG-in-struct-anymore.patch (upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 6 15:03:35 UTC 2015 - sndirsch@suse.com
|
||||
|
||||
- U_don-t-use-PCITAG-in-struct-anymore.patch
|
||||
* fixes build against xorg-server 1.17
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 7 15:03:57 CEST 2013 - ro@suse.de
|
||||
|
||||
- add ExcludeArch for s390 and s390x
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 20 14:42:42 UTC 2013 - sndirsch@suse.com
|
||||
|
||||
- introduce hardware supplements conditional on xorg-x11-server
|
||||
package (bnc#810333)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 2 19:26:08 UTC 2012 - zaitor@opensuse.org
|
||||
|
||||
- Update to version 1.2.5:
|
||||
+ Fix build against older X servers.
|
||||
+ Fix build against XAA-less server.
|
||||
+ Drop useless vgaHW include.
|
||||
+ Fall back to shadowfb if XAA is unavailable.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 20 07:37:57 UTC 2012 - vuntz@opensuse.org
|
||||
|
||||
- Use %x11_abi_videodrv_req instead of static ABI Requires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 18 15:51:24 UTC 2012 - vuntz@opensuse.org
|
||||
|
||||
- Split xf86-video-voodoo from xorg-x11-driver-video.
|
||||
Initial version: 1.2.4.
|
||||
|
59
xf86-video-voodoo.keyring
Normal file
59
xf86-video-voodoo.keyring
Normal file
@ -0,0 +1,59 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQGiBEab+moRBACDH5yKqS3wcc5bdxY7PBNuwKvF5TKMfagmSvuRDtZjjIIWaA/n
|
||||
Z1KboV9Gq5g7kP7+Kfu+Qgd8u65eVsWwmPW10fXvj3aCU53glx2EdGdrHcgiyH2g
|
||||
EQfPiyBw+trIppWFRV0IDXSLMA1FNC92t2nSG/VFHaPTVwcgkIRSfcXDvwCglGdE
|
||||
a6f4uLqoNHP+m4yYnzapFuMD/R4+2AJDAvEWKDdYCGZzlawjAmmWyXrmT7/C/mx9
|
||||
8qUR473l4buXjHgDkkXXlHqdzil1vK85PhrKzNJDCCmlHUJNz+QwiAMOLwpD+kwV
|
||||
Pb57RG7y+a5JQ5+jtVw4RlUxZIk/wj2An9YBO3A5vR7PdjM32ZJCN2+aM4dYfNzQ
|
||||
xQKTA/47icvBaBVTl9rztjg2pd2Aqpc1P/GsIYLGj7XjnnJvGAENBHSH1QjpZMJG
|
||||
CTS9oJ+B0/wrIr+pA+MdFgYAb6ojMQJOO6UChjWWSGjMFcs/CeXhxlLBido3DtAE
|
||||
TbNTwO6OEfAvdosvTdhJFnwvZlJ+zZGGy5CrF2Fd9PUe9tmASbQuQWxhbiBDb29w
|
||||
ZXJzbWl0aCA8YWxhbi5jb29wZXJzbWl0aEBvcmFjbGUuY29tPohrBBMRCgArAhsD
|
||||
BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAIZAQUCWtvjmAUJHaXqrgAKCRCi+54I
|
||||
Hy0TDmAsAJ4ubyCVncwKtAGVIx9whDq7f6SxZgCfXAVWUqRR20c98J39lLTtcopZ
|
||||
Dfi0KEFsYW4gQ29vcGVyc21pdGggPGFsYW5jQGZyZWVkZXNrdG9wLm9yZz6IaAQT
|
||||
EQoAKAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AFAlrb454FCR2l6q4ACgkQ
|
||||
ovueCB8tEw6whACdFj9U5SQuhv0e8BQvI4orGPzUMSkAoImqdVB7sU7Z++djBrj3
|
||||
uJc4m0F6tCtBbGFuIENvb3BlcnNtaXRoIDxhbGFuLmNvb3BlcnNtaXRoQHN1bi5j
|
||||
b20+iGYEExEKACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCWtvjngUJHaXq
|
||||
rgAKCRCi+54IHy0TDhtDAJ95lL7Flj8EzdWqYogu7V9W5Xmd4gCgi0vN3iglPVNH
|
||||
2gHOcTpdNyl0wcy5Ag0EUXnVIQEQAKHpjOmY056n0tsZoW9q5egsMcl5tKC8uimr
|
||||
hO05nnq+5/60/YedC++V9c9b/3/X7O28LyBkAtBgD0xJZSDQ0DhTzKAp6AzjQtBv
|
||||
I68uinGwxSjT+oQpPMxqhA1I0kzoEDCdEqV+HsVOAEdbAi/tP9bbdTDzwVc8MWDr
|
||||
iamBUqc53Rb00Mffy9435UgTS4gAhMwANhy6XZmOMBhITOzxFJUEDTDJtLbE0b1j
|
||||
PRQS7NHQgak1inmuvPMc3wAuoEcSCSt1xupbYsBoXOjK5wC/eE1LIdZoRyW2OkT1
|
||||
40DqDZ8zfRID860hnirnYgb09TPNtj93pudUAUt6T9+tcLN4/rxhxHOwse66KGHO
|
||||
4bQ1rZ6mfco6SYd9V60cL6hC2eMecyxZliMu17lj7EX8lxUH+omIgHc7HGoyUR6V
|
||||
+WB60cxWj5v05zdeLeZ2aLBcPFhxlfDESm8f4ezdJSDS1QZmC0P5h3RJfhhfmdBr
|
||||
8kHzr7111D1/O71Av1VV5FyJ9YxUSxp4IPuzK7JbbgVHcA6PvXrDzWUslmZgPADp
|
||||
KH4hTmG/NdCqhEXcufvY6s5yNksB8X3ReNvuSSyfGnRz3kvtyK0XzC7KRX2PquLI
|
||||
6A8KJprHwZGqEB1NDG8b2iaYnghOjyfIYEVQF3nGfaBwv4lrCPEoZSUaK8f/NQZj
|
||||
NU8NQyTnABEBAAGJAm4EGBEKAA8CGwIFAlrb470FCRLIEBwCKcFdIAQZAQoABgUC
|
||||
UXnVIQAKCRDP3xSIKMZCp9bmD/9050ke3bdx0zLPlUANoTu74vQT55f0a0cXgnrj
|
||||
15ey6Ln0S1seHadd0aF3lKpDwUOL0YIQppDhLfWf9gEsQEKSPtHQgyKRbajvz8nE
|
||||
Oi8Hz5ovrTqGCZp81XHVoiyEiCWuXxeW7eyN4C8bjxbpiN0vaZ+sgMeMhXA5mwyK
|
||||
Fs4m9JPpDe6kd2eaMO0zkcJCYjk0RcNZiPohm6EmeesNbA2zJhXgo+hQHEByojIJ
|
||||
5ltWyy5Zacc9dfxVq9Wr3y+lXKd8bMZiklsOPX0L+60yMoYjl1y9tVq5wDtf+iS3
|
||||
GvFLpIEOG4hoAT3hkeVvGp/Id8RMj8trZn8AsMC1h2ElHaBKRMfIpJbVCpiW6VJ8
|
||||
H/+WedrjiaZO5E41sM2BvQUZK+2wExnzSIcOo+BR9LrSTEJ8WuxIZ9MVT5fhADOl
|
||||
O1QkRyv4ngdQsN4x/A6CCFV+YrEVdZ+53zENoJe7LAtO1WAwJmng/swDK4mVrGwV
|
||||
O75zVWXL3iCuThQy0AssyoJdKiwDj3SAtNJ2DcdLDG3ZD8sl3Ljbtkgy+MZciu6e
|
||||
zxT86Yv11WBa7dskewvrxKTHxOzrepM31Bcz88H7xXA5oLs8n6Dq3jQOV46Z2xLx
|
||||
w3fXJ/koHyuwvi6fi7XKswl+mdJuU8y7nAmLeSOgD4N3lkWrH2dOLjAGN9VgYI+y
|
||||
V6rn0gkQovueCB8tEw7nxACeNnR9mrdd+VMF32hm6lu54QUhWiQAoJLzrvm3uK/H
|
||||
XyfDrNoGAjiyAj+3uQINBEab+m8QCACaeWlJYaOa1IaUuopO7KbAEBT0bsnDyjDb
|
||||
tCeBdL/zqD89PObKFfMrS4+B6ghpNmWpodY0oJYmcLpPZu1e1oMcfpwSWsKVg1/3
|
||||
iizmxK3w8EOHXzhb421y0DJjZ0DWlBiFizz95fBrgThzKutAbvkz4Ietu71J7S+U
|
||||
REBEKk1yM1gulNdELA25S8CL3TlUnRhecZfzdZsl80ir67GcFraBXPBvb/YXAo4b
|
||||
TdbJvW+zo3OdYmV73HrXLz8uUQOgFFt8hBMWnnVHS57yBfbIxWCHyVhVWIdgIGr5
|
||||
xq3unxfjVdr9838d8EU+x/f/5uGCA2CZoGYMkHHF3oE8HxgSKt6LAAMGB/9RYjFD
|
||||
DBEuSJc9pw6iHfgwlhAgFOsILyBUXF62VsQ8Qfma55kwl6AA9MXnaXzpER6fF01X
|
||||
P/TFPsEPpWUcdjkOjCVtFxrhbx5veCmRf/B81gNgIe1OJ9Pt7C6ZOs1nHmats2TR
|
||||
dMlU48A/fPsTStUPbD/GjinbYPMjB94YrCkeq3Vvpn1+atEPBqJdoWbBR/6siIZz
|
||||
84Vw5J7jofBOYjJM63o1V1BJ/vmM49t14z+fUjmy851ZMsSPpASPar1RD3xQQ8m4
|
||||
x1qi3IEXAqVwM44sxIvv3d9Yg2thKyR1eEeNqG3nBaoj56A7Yl9yIj+8/X5sTOGl
|
||||
j2WUar6vtYbecJJ/iEkEGBECAAkFAkab+m8CGwwACgkQovueCB8tEw6C6ACgh2Ea
|
||||
cP138hLp8NWC/7jGc5e/KiEAnRVXFzW6g/N6lYVuC8u4cgy/KNGi
|
||||
=zQQb
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
112
xf86-video-voodoo.spec
Normal file
112
xf86-video-voodoo.spec
Normal file
@ -0,0 +1,112 @@
|
||||
#
|
||||
# spec file for package xf86-video-voodoo
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: xf86-video-voodoo
|
||||
Version: 1.2.6
|
||||
Release: 0
|
||||
Summary: Voodoo video driver for the Xorg X server
|
||||
License: MIT
|
||||
Group: System/X11/Servers/XF86_4
|
||||
URL: https://xorg.freedesktop.org/
|
||||
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
|
||||
Source2: xf86-video-voodoo.keyring
|
||||
#Patch1: 0001-gitlab-CI-ensure-libtool-is-installed-in-build-conta.patch
|
||||
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
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(fontsproto)
|
||||
BuildRequires: pkgconfig(pciaccess) >= 0.8.0
|
||||
BuildRequires: pkgconfig(randrproto)
|
||||
BuildRequires: pkgconfig(renderproto)
|
||||
BuildRequires: pkgconfig(xextproto)
|
||||
BuildRequires: pkgconfig(xf86dgaproto)
|
||||
BuildRequires: pkgconfig(xorg-macros) >= 1.8
|
||||
BuildRequires: pkgconfig(xorg-server) >= 1.0.99.901
|
||||
BuildRequires: pkgconfig(xproto)
|
||||
Supplements: modalias(xorg-x11-server:pci:v0000121Ad*sv*sd*bc03sc*i*)
|
||||
# This was part of the xorg-x11-driver-video package up to version 7.6
|
||||
Conflicts: xorg-x11-driver-video <= 7.6
|
||||
ExcludeArch: s390 s390x
|
||||
%{?x11_abi_videodrv_req}
|
||||
|
||||
%description
|
||||
voodoo is an Xorg driver for Voodoo 1 and Voodoo 2 series video cards.
|
||||
|
||||
On the Voodoo 1 the driver uses a shadow buffer in system memory as the
|
||||
video adapter has only 3D acceleration. Selected portions of the shadow
|
||||
framebuffer are copied out to the Voodoo board at the right time.
|
||||
Because of this, the speed of the driver is very dependent on the CPU.
|
||||
Processors nowadays are actually rather fast at moving data so we get
|
||||
very good speed anyway as the shadow framebuffer is in cached RAM.
|
||||
|
||||
The Voodoo2 has 16bpp acceleration and the driver provides accelerated
|
||||
versions of most operations except angled lines and stipples.
|
||||
Accelerated alpha blending with the Render extension is also supported
|
||||
as is DGA.
|
||||
|
||||
This driver supports 16bpp modes currently. The video hardware supports
|
||||
image conversion from 24bpp to 16bpp but the hardware is 16bpp only.
|
||||
|
||||
The Voodoo 1 series cards can go up to 800x600 resolution while the
|
||||
Voodoo 2 can reach 1024x768 providing it has at least 2Mb of frame
|
||||
buffer memory. 1024x768 2D mode does not require two cards configured in
|
||||
scan-line interleave mode (SLI).
|
||||
|
||||
Multihead and Xinerama configurations are supported. SLI configurations
|
||||
will be treated as multiple video cards.
|
||||
|
||||
Limited support for DPMS screen saving is available. The "standby" and
|
||||
"suspend" modes are just painting the screen black. The "off" mode turns
|
||||
the Voodoo board off and thus works correctly.
|
||||
|
||||
This driver does not support a virtual screen size different from the
|
||||
display size. This is a hardware limitation. 3D rendering is also not
|
||||
supported.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc ChangeLog README
|
||||
%dir %{_libdir}/xorg/modules/drivers
|
||||
%{_libdir}/xorg/modules/drivers/voodoo_drv.so
|
||||
%{_mandir}/man4/voodoo.4%{?ext_man}
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user