New package: xf86-video-mach64-6.9.6
This commit is contained in:
parent
3a37e671bb
commit
139bdfd0ba
|
@ -0,0 +1,36 @@
|
|||
From 73d1c4ecbddf64b729a16aa4ebe9e9151c975891 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Kolesa <daniel@octaforge.org>
|
||||
Date: Thu, 23 Jan 2020 19:49:43 +0100
|
||||
Subject: [PATCH xf86-video-mach64 1/4] avoid including VBE paths when not used
|
||||
|
||||
---
|
||||
src/atipreinit.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git src/atipreinit.c src/atipreinit.c
|
||||
index 96ec68f..be30141 100644
|
||||
--- src/atipreinit.c
|
||||
+++ src/atipreinit.c
|
||||
@@ -51,7 +51,9 @@
|
||||
#include "atixv.h"
|
||||
#include "atiadjust.h"
|
||||
|
||||
+#if !defined(AVOID_CPIO) || defined(TV_OUT)
|
||||
#include "vbe.h"
|
||||
+#endif
|
||||
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
|
||||
#include "xf86RAC.h"
|
||||
#endif
|
||||
@@ -572,7 +574,9 @@ ATIPreInit
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
+#if !defined(AVOID_CPIO) || defined(TV_OUT)
|
||||
ConfiguredMonitor = NULL;
|
||||
+#endif
|
||||
(void)memset(BIOS, 0, SizeOf(BIOS));
|
||||
|
||||
if (!(flags & PROBE_DETECT))
|
||||
--
|
||||
2.25.0
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
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
|
||||
--- configure.ac
|
||||
+++ 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
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
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
|
||||
--- src/atimach64render.c
|
||||
+++ 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
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
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
|
||||
--- src/atimach64render.c
|
||||
+++ 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
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Template file for 'xf86-video-mach64'
|
||||
pkgname=xf86-video-mach64
|
||||
version=6.9.6
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
hostmakedepends="automake libtool pkg-config xorg-util-macros"
|
||||
makedepends="xorgproto xorg-server-devel"
|
||||
depends="virtual?xserver-abi-video-24_1"
|
||||
short_desc="Xorg ATI Rage Pro video driver"
|
||||
maintainer="q66 <daniel@octaforge.org>"
|
||||
license="MIT"
|
||||
homepage="https://wiki.freedesktop.org/xorg"
|
||||
distfiles="${XORG_SITE}/driver/${pkgname}-${version}.tar.bz2"
|
||||
checksum=7a0707c71bb522430f83bb5e9d9ee697e661e35534a3a2d10834f86b327a3c9c
|
||||
lib32disabled=yes
|
||||
LDFLAGS="-Wl,-z,lazy"
|
||||
|
||||
pre_configure() {
|
||||
autoreconf -if
|
||||
}
|
||||
|
||||
post_install() {
|
||||
vlicense COPYING
|
||||
}
|
Loading…
Reference in New Issue