xf86-video-mach64: update to 6.10.0.

This commit is contained in:
Piraty 2025-07-02 00:12:54 +02:00
parent 5c4598a476
commit 5d915579e8
7 changed files with 36 additions and 243 deletions

View file

@ -18,9 +18,9 @@ index 96ec68f..be30141 100644
+#if !defined(AVOID_CPIO) || defined(TV_OUT)
#include "vbe.h"
+#endif
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86RAC.h"
#endif
/*
* FreeScreen handles the clean-up.
@@ -572,7 +574,9 @@ ATIPreInit
return FALSE;
}

View file

@ -1,38 +0,0 @@
From ca72e41e15fb9b59b367cba2baca0d5467dcc8c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
Date: Fri, 5 Jul 2019 11:01:56 +0200
Subject: [PATCH xf86-video-mach64 2/4] configure: Include xorg-server.h before
exa.h
Fixes EXA detection spuriously failing with current xserver.
---
configure.ac | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git configure.ac configure.ac
index d3933b2..b8b722b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -169,7 +169,8 @@ if test "x$EXA" = xyes; then
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
AC_CHECK_HEADER(exa.h,
- [have_exa_h="yes"], [have_exa_h="no"])
+ [have_exa_h="yes"], [have_exa_h="no"],
+ [#include <xorg-server.h>])
CPPFLAGS="$SAVE_CPPFLAGS"
else
AC_MSG_RESULT(no)
@@ -180,7 +181,8 @@ CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
if test "x$have_exa_h" = xyes; then
AC_MSG_CHECKING([whether EXA version is at least 2.0.0])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
-#include "exa.h"
+#include <xorg-server.h>
+#include <exa.h>
#if EXA_VERSION_MAJOR < 2
#error OLD EXA!
#endif
--
2.25.0

View file

@ -1,28 +0,0 @@
From 22200891efea69eb17772da8ae5e074860ba1ad4 Mon Sep 17 00:00:00 2001
From: George Matsumura <gmmatsumura01@bvsd.org>
Date: Sun, 6 Oct 2019 17:43:24 +0000
Subject: [PATCH xf86-video-mach64 3/4] Fix debugging traces
Without this change, the compiler emits an error about pPict being undefined when fallback messages are turned on.
---
src/atimach64render.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git src/atimach64render.c src/atimach64render.c
index 8d259fa..e4ddea8 100644
--- a/src/atimach64render.c
+++ b/src/atimach64render.c
@@ -701,8 +701,8 @@ Mach64PrepareComposite
break;
}
if (i == MACH64_NR_TEX_FORMATS)
- MACH64_FALLBACK(("Unsupported picture format 0x%x\n",
- (int)pPict->format));
+ MACH64_FALLBACK(("Unsupported dst format 0x%x\n",
+ (int)pDstPicture->format));
dstFormat = Mach64TexFormats[i].dstFormat;
m3d->dp_pix_width = SetBits(dstFormat, DP_DST_PIX_WIDTH) |
--
2.25.0

View file

@ -1,88 +0,0 @@
From fd9eef74b85d9280c90ba640b939effad9707f57 Mon Sep 17 00:00:00 2001
From: George Matsumura <gmmatsumura01@bvsd.org>
Date: Tue, 24 Dec 2019 06:12:01 +0000
Subject: [PATCH xf86-video-mach64 4/4] Fix compositing rotation
This corrects the composite operation's interpretation of a
source picture transformation matrix indicating rotation,
correcting a previous behavior where the source image was simply
flipped and not rotated. This is done by using a transformed vector
for each vertex of the source rectangle, instead of just two at
each of the diagonally opposed corner vertices.
---
src/atimach64render.c | 44 +++++++++++++++++++++++--------------------
1 file changed, 24 insertions(+), 20 deletions(-)
diff --git src/atimach64render.c src/atimach64render.c
index e4ddea8..e172546 100644
--- a/src/atimach64render.c
+++ b/src/atimach64render.c
@@ -814,7 +814,10 @@ Mach64Composite
float ooa;
CARD32 col;
PictVector v;
- int srcXend, srcYend;
+ struct vertcoords {
+ int x;
+ int y;
+ } srcvert[4];
float dxy = 0.0, dwh = 0.0;
ATIDRISync(pScreenInfo);
@@ -830,22 +833,23 @@ Mach64Composite
}
/* Handle transform */
- srcXend = srcX + w;
- srcYend = srcY + h;
+ srcvert[0].x = srcX;
+ srcvert[0].y = srcY;
+ srcvert[1].x = srcX + w;
+ srcvert[1].y = srcY;
+ srcvert[2].x = srcX + w;
+ srcvert[2].y = srcY + h;
+ srcvert[3].x = srcX;
+ srcvert[3].y = srcY + h;
if (m3d->transform) {
- v.vector[0] = IntToxFixed(srcX);
- v.vector[1] = IntToxFixed(srcY);
- v.vector[2] = xFixed1;
- PictureTransformPoint(m3d->transform, &v);
- srcX = xFixedToInt(v.vector[0]);
- srcY = xFixedToInt(v.vector[1]);
-
- v.vector[0] = IntToxFixed(srcXend);
- v.vector[1] = IntToxFixed(srcYend);
- v.vector[2] = xFixed1;
- PictureTransformPoint(m3d->transform, &v);
- srcXend = xFixedToInt(v.vector[0]);
- srcYend = xFixedToInt(v.vector[1]);
+ for (int i = 0; i < 4; i++) {
+ v.vector[0] = IntToxFixed(srcvert[i].x);
+ v.vector[1] = IntToxFixed(srcvert[i].y);
+ v.vector[2] = xFixed1;
+ PictureTransformPoint(m3d->transform, &v);
+ srcvert[i].x = xFixedToInt(v.vector[0]);
+ srcvert[i].y = xFixedToInt(v.vector[1]);
+ }
#if 0
/* Bilinear needs manipulation of texture coordinates */
@@ -857,10 +861,10 @@ Mach64Composite
}
/* Create vertices in clock-wise order */
- VTX_SET(v0, col, dstX, dstY, srcX, dxy, srcY, dxy);
- VTX_SET(v1, col, dstX + w, dstY, srcXend, dwh, srcY, dxy);
- VTX_SET(v2, col, dstX + w, dstY + h, srcXend, dwh, srcYend, dwh);
- VTX_SET(v3, col, dstX, dstY + h, srcX, dxy, srcYend, dwh);
+ VTX_SET(v0, col, dstX, dstY, srcvert[0].x, dxy, srcvert[0].y, dxy);
+ VTX_SET(v1, col, dstX + w, dstY, srcvert[1].x, dwh, srcvert[1].y, dxy);
+ VTX_SET(v2, col, dstX + w, dstY + h, srcvert[2].x, dwh, srcvert[2].y, dwh);
+ VTX_SET(v3, col, dstX, dstY + h, srcvert[3].x, dxy, srcvert[3].y, dwh);
/* Setup upper triangle (v0, v1, v3) */
VTX_OUT(v0, 1);
--
2.25.0

View file

@ -1,78 +0,0 @@
From 04b7261734aeee7160dc4454440d20c19ef2d6dc Mon Sep 17 00:00:00 2001
From: Josselin Poiret <dev@jpoiret.xyz>
Date: Thu, 18 Nov 2021 13:18:25 +0000
Subject: [PATCH] Rename bool to boolean for OptionInfoRec.
* src/aticonfig.c: Change uses of .value.bool to .value.boolean
---
src/aticonfig.c | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/aticonfig.c b/src/aticonfig.c
index 621e79e..8ea0c6e 100644
--- a/src/aticonfig.c
+++ b/src/aticonfig.c
@@ -311,42 +311,42 @@ ATIProcessOptions
(void)memcpy(PublicOption, ATIPublicOptions, ATIPublicOptionSize);
-# define ProbeSparse PublicOption[ATI_OPTION_PROBE_SPARSE].value.bool
-# define Accel PublicOption[ATI_OPTION_ACCEL].value.bool
-# define BIOSDisplay PrivateOption[ATI_OPTION_BIOS_DISPLAY].value.bool
-# define Blend PrivateOption[ATI_OPTION_BLEND].value.bool
-# define CRTDisplay PublicOption[ATI_OPTION_CRT_DISPLAY].value.bool
-# define CRTScreen PrivateOption[ATI_OPTION_CRT_SCREEN].value.bool
-# define CSync PublicOption[ATI_OPTION_CSYNC].value.bool
-# define Devel PrivateOption[ATI_OPTION_DEVEL].value.bool
-# define HWCursor PublicOption[ATI_OPTION_HWCURSOR].value.bool
+# define ProbeSparse PublicOption[ATI_OPTION_PROBE_SPARSE].value.boolean
+# define Accel PublicOption[ATI_OPTION_ACCEL].value.boolean
+# define BIOSDisplay PrivateOption[ATI_OPTION_BIOS_DISPLAY].value.boolean
+# define Blend PrivateOption[ATI_OPTION_BLEND].value.boolean
+# define CRTDisplay PublicOption[ATI_OPTION_CRT_DISPLAY].value.boolean
+# define CRTScreen PrivateOption[ATI_OPTION_CRT_SCREEN].value.boolean
+# define CSync PublicOption[ATI_OPTION_CSYNC].value.boolean
+# define Devel PrivateOption[ATI_OPTION_DEVEL].value.boolean
+# define HWCursor PublicOption[ATI_OPTION_HWCURSOR].value.boolean
#ifdef XF86DRI_DEVEL
-# define IsPCI PublicOption[ATI_OPTION_IS_PCI].value.bool
+# define IsPCI PublicOption[ATI_OPTION_IS_PCI].value.boolean
# define DMAMode PublicOption[ATI_OPTION_DMA_MODE].value.str
# define AGPMode PublicOption[ATI_OPTION_AGP_MODE].value.num
# define AGPSize PublicOption[ATI_OPTION_AGP_SIZE].value.num
-# define LocalTex PublicOption[ATI_OPTION_LOCAL_TEXTURES].value.bool
+# define LocalTex PublicOption[ATI_OPTION_LOCAL_TEXTURES].value.boolean
# define BufferSize PublicOption[ATI_OPTION_BUFFER_SIZE].value.num
#endif /* XF86DRI_DEVEL */
#ifdef TV_OUT
-# define TvOut PublicOption[ATI_OPTION_TV_OUT].value.bool
+# define TvOut PublicOption[ATI_OPTION_TV_OUT].value.boolean
# define TvStd PublicOption[ATI_OPTION_TV_STD].value.str
#endif /* TV_OUT */
-# define CacheMMIO PublicOption[ATI_OPTION_MMIO_CACHE].value.bool
-# define TestCacheMMIO PublicOption[ATI_OPTION_TEST_MMIO_CACHE].value.bool
-# define PanelDisplay PublicOption[ATI_OPTION_PANEL_DISPLAY].value.bool
-# define ShadowFB PublicOption[ATI_OPTION_SHADOW_FB].value.bool
-# define SWCursor PublicOption[ATI_OPTION_SWCURSOR].value.bool
+# define CacheMMIO PublicOption[ATI_OPTION_MMIO_CACHE].value.boolean
+# define TestCacheMMIO PublicOption[ATI_OPTION_TEST_MMIO_CACHE].value.boolean
+# define PanelDisplay PublicOption[ATI_OPTION_PANEL_DISPLAY].value.boolean
+# define ShadowFB PublicOption[ATI_OPTION_SHADOW_FB].value.boolean
+# define SWCursor PublicOption[ATI_OPTION_SWCURSOR].value.boolean
# define AccelMethod PublicOption[ATI_OPTION_ACCELMETHOD].value.str
-# define RenderAccel PublicOption[ATI_OPTION_RENDER_ACCEL].value.bool
-# define LCDSync PrivateOption[ATI_OPTION_LCDSYNC].value.bool
+# define RenderAccel PublicOption[ATI_OPTION_RENDER_ACCEL].value.boolean
+# define LCDSync PrivateOption[ATI_OPTION_LCDSYNC].value.boolean
# define ReferenceClock \
PublicOption[ATI_OPTION_REFERENCE_CLOCK].value.freq.freq
--
GitLab

View file

@ -0,0 +1,27 @@
fix cross similar to xf86-video-mga's configure.ac
diff --git a/configure.ac.orig b/configure.ac
index 6170c94..66bb1da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -79,6 +79,7 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
# Checks for libraries.
if test "$DRI" != no; then
+ if test "$cross_compiling" = no; then
AC_CHECK_FILE([${sdkdir}/dri.h],
[have_dri_h="yes"], [have_dri_h="no"])
AC_CHECK_FILE([${sdkdir}/sarea.h],
@@ -87,6 +88,12 @@ if test "$DRI" != no; then
[have_dristruct_h="yes"], [have_dristruct_h="no"])
AC_CHECK_FILE([${sdkdir}/damage.h],
[have_damage_h="yes"], [have_damage_h="no"])
+ else
+ have_dri_h="yes"
+ have_sarea_h="yes"
+ have_dristruct_h="yes"
+ have_damage_h="yes"
+ fi
fi
AC_MSG_CHECKING([whether to include DRI support])

View file

@ -1,24 +1,22 @@
# Template file for 'xf86-video-mach64'
pkgname=xf86-video-mach64
version=6.9.6
revision=3
version=6.10.0
revision=1
build_style=gnu-configure
hostmakedepends="automake libtool pkg-config xorg-util-macros"
hostmakedepends="automake libtool pkg-config xorg-util-macros xorg-server-devel"
makedepends="xorgproto xorg-server-devel"
depends="virtual?xserver-abi-video-25_1"
short_desc="Xorg ATI Rage Pro video driver"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="https://wiki.freedesktop.org/xorg"
distfiles="${XORG_SITE}/driver/${pkgname}-${version}.tar.bz2"
checksum=7a0707c71bb522430f83bb5e9d9ee697e661e35534a3a2d10834f86b327a3c9c
distfiles="${XORG_SITE}/driver/${pkgname}-${version}.tar.xz"
checksum=d6b96b47a27cd2dc6dea612f5dc51fcc1a8561d5ad1d48d04ec2d47751222724
lib32disabled=yes
# fails at XORG_DRIVER_CHECK_EXT even though xorg-util-macros is on host
nocross=yes
LDFLAGS="-Wl,-z,lazy"
pre_configure() {
autoreconf -if
autoreconf -vif
}
post_install() {