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

xserver-xorg-video-ati: Changes to 'debian-unstable'



 debian/changelog        |    9 +++++++++
 src/radeon_exa_shared.c |   29 ++++++++++++++++++++++++-----
 2 files changed, 33 insertions(+), 5 deletions(-)

New commits:
commit 1eb002090759afe3f44dc58ae7739fcb87ac41bc
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sat May 19 21:00:49 2012 +0000

    Upload to unstable.

diff --git a/debian/changelog b/debian/changelog
index aafb2e3..5f16c8b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,11 @@
-xserver-xorg-video-ati (1:6.14.4-4) UNRELEASED; urgency=low
+xserver-xorg-video-ati (1:6.14.4-4) unstable; urgency=low
 
   * Cherry-pick from upstream to fix regression on UMS (Closes: #670570):
     - EXA: Attempt to fix solid picture acceleration with UMS.
     - EXA/UMS: Synchronize to the GPU before writing solid colour to scratch pixmap.
     - UMS/EXA: Add reminder for potential solid picture performance issue.
 
- -- Cyril Brulebois <kibi@debian.org>  Sat, 19 May 2012 20:32:19 +0000
+ -- Cyril Brulebois <kibi@debian.org>  Sat, 19 May 2012 21:00:45 +0000
 
 xserver-xorg-video-ati (1:6.14.4-3) unstable; urgency=low
 

commit ab3d973dcf3260154dbc223dac650878b1fd1197
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sat May 19 20:59:04 2012 +0000

    Document the cherry-picks.
    
    The last one is *really* just here for completeness.

diff --git a/debian/changelog b/debian/changelog
index 5e3f1b0..aafb2e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xserver-xorg-video-ati (1:6.14.4-4) UNRELEASED; urgency=low
+
+  * Cherry-pick from upstream to fix regression on UMS (Closes: #670570):
+    - EXA: Attempt to fix solid picture acceleration with UMS.
+    - EXA/UMS: Synchronize to the GPU before writing solid colour to scratch pixmap.
+    - UMS/EXA: Add reminder for potential solid picture performance issue.
+
+ -- Cyril Brulebois <kibi@debian.org>  Sat, 19 May 2012 20:32:19 +0000
+
 xserver-xorg-video-ati (1:6.14.4-3) unstable; urgency=low
 
   * Fix uninstallability issues on ia64 by dropping mach64 and r128 from

commit 596b31b63cc9a77409ecf8e3f1f484eb08861331
Author: Thierry Vignaud <thierry.vignaud@gmail.com>
Date:   Wed May 16 14:43:53 2012 +0200

    UMS/EXA: Add reminder for potential solid picture performance issue.
    (cherry picked from commit 3fb694b308ebadd1b849836059b6b56bb19385f7)

diff --git a/src/radeon_exa_shared.c b/src/radeon_exa_shared.c
index 45222b5..7af8a52 100644
--- a/src/radeon_exa_shared.c
+++ b/src/radeon_exa_shared.c
@@ -157,6 +157,7 @@ PixmapPtr RADEONSolidPixmap(ScreenPtr pScreen, uint32_t solid)
 	return NULL;
     }
 
+    /* XXX: Big hammer... */
     info->accel_state->exa->WaitMarker(pScreen, info->accel_state->exaSyncMarker);
     memcpy(info->FB + exaGetPixmapOffset(pPix), &solid, 4);
 

commit 6a5f35d07dfe85a400b7f3504e1b725dc04d233b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed May 9 11:08:49 2012 +0200

    EXA/UMS: Synchronize to the GPU before writing solid colour to scratch pixmap.
    
    UMS doesn't do this automagically. It's a big hammer that will probably suck
    for performance, but I don't have any better ideas right now.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    (cherry picked from commit b0b7d8d26fd107df342b5c87b0a38e5bb08101a9)

diff --git a/src/radeon_exa_shared.c b/src/radeon_exa_shared.c
index 31e2870..45222b5 100644
--- a/src/radeon_exa_shared.c
+++ b/src/radeon_exa_shared.c
@@ -157,6 +157,7 @@ PixmapPtr RADEONSolidPixmap(ScreenPtr pScreen, uint32_t solid)
 	return NULL;
     }
 
+    info->accel_state->exa->WaitMarker(pScreen, info->accel_state->exaSyncMarker);
     memcpy(info->FB + exaGetPixmapOffset(pPix), &solid, 4);
 
     return pPix;

commit be52743a3418fa8ba7583268552edc3ff1b184d6
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu May 3 15:07:30 2012 +0200

    EXA: Attempt to fix solid picture acceleration with UMS.
    
    Only compile tested, but should fix
    https://bugs.freedesktop.org/show_bug.cgi?id=49182 .
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    (cherry picked from commit 6bda7ceda645e838723883d133d614def1511d16)

diff --git a/src/radeon_exa_shared.c b/src/radeon_exa_shared.c
index 28dc335..31e2870 100644
--- a/src/radeon_exa_shared.c
+++ b/src/radeon_exa_shared.c
@@ -128,19 +128,36 @@ Bool RADEONCheckBPP(int bpp)
 
 PixmapPtr RADEONSolidPixmap(ScreenPtr pScreen, uint32_t solid)
 {
+    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    RADEONInfoPtr info = RADEONPTR(pScrn);
     PixmapPtr pPix = pScreen->CreatePixmap(pScreen, 1, 1, 32, 0);
-    struct radeon_bo *bo;
 
     exaMoveInPixmap(pPix);
-    bo = radeon_get_pixmap_bo(pPix);
 
-    if (radeon_bo_map(bo, 1)) {
+#if defined(XF86DRM_MODE)
+    if (info->cs) {
+	struct radeon_bo *bo;
+
+	bo = radeon_get_pixmap_bo(pPix);
+
+	if (radeon_bo_map(bo, 1)) {
+	    pScreen->DestroyPixmap(pPix);
+	    return NULL;
+	}
+
+	memcpy(bo->ptr, &solid, 4);
+	radeon_bo_unmap(bo);
+
+	return pPix;
+    }
+#endif
+
+    if (!exaDrawableIsOffscreen(&pPix->drawable)) {
 	pScreen->DestroyPixmap(pPix);
 	return NULL;
     }
 
-    memcpy(bo->ptr, &solid, 4);
-    radeon_bo_unmap(bo);
+    memcpy(info->FB + exaGetPixmapOffset(pPix), &solid, 4);
 
     return pPix;
 }


Reply to: