[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: