xserver-xorg-video-mach64: Changes to 'upstream-unstable'
configure.ac | 2 -
src/atimach64exa.c | 60 --------------------------------------------------
src/atimach64render.c | 17 --------------
src/atiscreen.c | 21 ++++-------------
src/atistruct.h | 1
5 files changed, 8 insertions(+), 93 deletions(-)
New commits:
commit 0d8639f3cd4128ae856ae27f3787c1da224bb564
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Dec 19 22:14:08 2012 -0800
xf86-video-mach64 6.9.4
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
diff --git a/configure.ac b/configure.ac
index 2282f79..95f336b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-mach64],
- [6.9.3],
+ [6.9.4],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-mach64])
AC_CONFIG_SRCDIR([Makefile.am])
commit f694490b3cec78d7b17eeb0a9c4daadd1028776a
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Tue Dec 18 15:42:30 2012 -0800
Remove call to obsolete miInitializeBackingStore()
Definition was deleted from Xorg during 1.14 merge window, but has
been a no-op since 1.10 merge window.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/src/atiscreen.c b/src/atiscreen.c
index 62a4dd9..15f399e 100644
--- a/src/atiscreen.c
+++ b/src/atiscreen.c
@@ -532,7 +532,6 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL)
#endif /* AVOID_DGA */
/* Initialise backing store */
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
/* Initialise cursor */
commit ece8d3557eb1ffb27104bffb7841503aae4dcd6f
Author: Connor Behan <connor.behan@gmail.com>
Date: Fri Dec 7 13:53:38 2012 -0800
Remove dummy UTS / DFS hooks
When EXA was added to mach64, it included UploadToScreen and
DownloadFromScreen hooks that did the same thing that EXA would do in a
software fallback. Now they are out of date and cause crashes. The
slight benefit of reimplementing those hooks (if there is any) is not
worth the maintenance burden of having to rewrite them every time there
is a change to the way EXA handles pixmaps.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=51137
Signed-off-by: Connor Behan <connor.behan@gmail.com>
Tested-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
diff --git a/src/atimach64exa.c b/src/atimach64exa.c
index e4d5307..ea4c98e 100644
--- a/src/atimach64exa.c
+++ b/src/atimach64exa.c
@@ -387,60 +387,6 @@ Mach64Solid
static void Mach64DoneSolid(PixmapPtr pPixmap) { }
-/*
- * Memcpy-based UTS.
- */
-static Bool
-Mach64UploadToScreen(PixmapPtr pDst, int x, int y, int w, int h,
- char *src, int src_pitch)
-{
- char *dst = pDst->devPrivate.ptr;
- int dst_pitch = exaGetPixmapPitch(pDst);
-
- int bpp = pDst->drawable.bitsPerPixel;
- int cpp = (bpp + 7) / 8;
- int wBytes = w * cpp;
-
- exaWaitSync(pDst->drawable.pScreen);
-
- dst += (x * cpp) + (y * dst_pitch);
-
- while (h--) {
- memcpy(dst, src, wBytes);
- src += src_pitch;
- dst += dst_pitch;
- }
-
- return TRUE;
-}
-
-/*
- * Memcpy-based DFS.
- */
-static Bool
-Mach64DownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, int h,
- char *dst, int dst_pitch)
-{
- char *src = pSrc->devPrivate.ptr;
- int src_pitch = exaGetPixmapPitch(pSrc);
-
- int bpp = pSrc->drawable.bitsPerPixel;
- int cpp = (bpp + 7) / 8;
- int wBytes = w * cpp;
-
- exaWaitSync(pSrc->drawable.pScreen);
-
- src += (x * cpp) + (y * src_pitch);
-
- while (h--) {
- memcpy(dst, src, wBytes);
- src += src_pitch;
- dst += dst_pitch;
- }
-
- return TRUE;
-}
-
#include "atimach64render.c"
/* Compute log base 2 of val. */
@@ -659,12 +605,6 @@ Bool ATIMach64ExaInit(ScreenPtr pScreen)
pExa->Copy = Mach64Copy;
pExa->DoneCopy = Mach64DoneCopy;
- /* EXA hits more optimized paths when it does not have to fallback because
- * of missing UTS/DFS, hook memcpy-based UTS/DFS.
- */
- pExa->UploadToScreen = Mach64UploadToScreen;
- pExa->DownloadFromScreen = Mach64DownloadFromScreen;
-
if (pATI->RenderAccelEnabled) {
if (pATI->Chip >= ATI_CHIP_264GTPRO) {
/* 3D Rage Pro does not support NPOT textures. */
commit f0d44c18d71e7450b99189c1221a2f89c7817ab6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu Dec 6 16:49:12 2012 -0800
Mach64PixelARGB should use exaGetPixmapFirstPixel
Fixes crash attempting to read a pixel from a NULL pPixmap->devPrivate.ptr
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
diff --git a/src/atimach64render.c b/src/atimach64render.c
index 4862cd4..ffde2cb 100644
--- a/src/atimach64render.c
+++ b/src/atimach64render.c
@@ -209,22 +209,7 @@ Mach64PixelARGB(PixmapPtr pPixmap, CARD32 format, CARD32 *argb)
CARD8 comp;
int bits, shift;
- /* Ensure that texture drawing has completed. */
- exaWaitSync(pPixmap->drawable.pScreen);
-
- /* exaGetPixmapFirstPixel() */
-
- switch (pPixmap->drawable.bitsPerPixel) {
- case 32:
- pixel = *(CARD32 *)(pPixmap->devPrivate.ptr);
- break;
- case 16:
- pixel = *(CARD16 *)(pPixmap->devPrivate.ptr);
- break;
- default:
- pixel = *(CARD8 *)(pPixmap->devPrivate.ptr);
- break;
- }
+ pixel = exaGetPixmapFirstPixel(pPixmap);
/* exaGetRGBAFromPixel()/viaPixelARGB8888() */
commit 42c4e423eec789606eec9703be23a9fd4483a14a
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Oct 2 10:19:47 2012 -0400
Fix build with neither XAA nor EXA against xserver 1.13.0
Pull in picturestr.h to get GLYPH_HAS_GLYPH_PICTURE_ACCESSOR defined
before compat-api.h is parsed, otherwise you fail with:
In file included from /usr/include/xorg/picturestr.h:28:0,
from /usr/include/xorg/exa.h:38,
from atimach64accel.h:31,
from atiscreen.c:46:
/usr/include/xorg/glyphstr.h:138:2: error: expected ')' before '*' token
/usr/include/xorg/glyphstr.h:138:2: error: expected ')' before '(' token
/usr/include/xorg/glyphstr.h:140:2: error: expected ')' before '*' token
/usr/include/xorg/glyphstr.h:140:2: error: expected ')' before '(' token
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/src/atistruct.h b/src/atistruct.h
index 702360b..98dc15e 100644
--- a/src/atistruct.h
+++ b/src/atistruct.h
@@ -51,6 +51,7 @@
#endif /* TV_OUT */
+#include "picturestr.h"
#ifdef USE_EXA
#include "exa.h"
#endif
commit 104e3e067a7dcac143cb672fe42d56396ba6087b
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Sep 26 16:21:25 2012 -0400
Don't gratuitously disable Render when ShadowFBing
There's no reason to do this, and I am at a loss to explain why that was
ever done. The first instance of this logic comes from xfree86 (over 11
years ago!):
http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/drivers/ati/atiscreen.c.diff?r1=1.15&r2=1.16
Now, cfb never had Render support, so that might make some sense if
there was an intermediate uncommitted state where the driver used fb for
direct but cfb for shadowed. But that's really the only plausible
explanation I can think of.
Signed-off-by: Adam Jackson <ajax@redhat.com>
diff --git a/src/atiscreen.c b/src/atiscreen.c
index b1fbd3c..62a4dd9 100644
--- a/src/atiscreen.c
+++ b/src/atiscreen.c
@@ -476,21 +476,11 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL)
}
}
- /* If applicable, initialise RENDER extension */
+ /* initialise RENDER extension */
+ if (!fbPictureInit(pScreen, NULL, 0) && (serverGeneration == 1))
{
- if (pATI->OptionShadowFB)
- {
- if (serverGeneration == 1)
- xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
- "RENDER extension not supported with a shadowed"
- " framebuffer.\n");
- }
- else if (!fbPictureInit(pScreen, NULL, 0) &&
- (serverGeneration == 1))
- {
- xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
- "RENDER extension initialisation failed.\n");
- }
+ xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,
+ "RENDER extension initialisation failed.\n");
}
xf86SetBlackWhitePixels(pScreen);
commit 5eb7fec958bc6ba8a1a2b0be4916cac818866e1c
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Jul 18 18:46:49 2012 +1000
mach64: fix build on 32-bit.
tvout code only builds on 32-bit, fix build.
Signed-off-by: Dave Airlie <airlied@redhat.com>
diff --git a/src/atiscreen.c b/src/atiscreen.c
index 2957877..b1fbd3c 100644
--- a/src/atiscreen.c
+++ b/src/atiscreen.c
@@ -580,7 +580,7 @@ ATIScreenInit(SCREEN_INIT_ARGS_DECL)
#ifdef TV_OUT
/* Fix-up TV out after ImpacTV probe */
if (pATI->OptionTvOut && pATI->Chip < ATI_CHIP_264GTPRO)
- ATISwitchMode(0, pScreenInfo->currentMode, 0);
+ ATISwitchMode(SWITCH_MODE_ARGS(pScreenInfo, pScreenInfo->currentMode));
#endif /* TV_OUT */
#ifdef XF86DRI_DEVEL
Reply to: