Accepting request 124244 from X11:XOrg

- U_EXA-UMS-Synchronize-to-the-GPU-before-writing-solid-.patch
  * that one is required to fix the rendering corruption in UMS
    introduced with the previous patch (bnc#765973) 

- U_EXA-Attempt-to-fix-solid-picture-acceleration-with-U.patch 
  * Attempt to fix solid picture acceleration with UMS. (fdo#49182,
    bnc#765973)

OBS-URL: https://build.opensuse.org/request/show/124244
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xf86-video-ati?expand=0&rev=3
This commit is contained in:
Stephan Kulow 2012-06-10 18:20:32 +00:00 committed by Git OBS Bridge
commit 75d0fa5777
4 changed files with 114 additions and 1 deletions

View File

@ -0,0 +1,65 @@
From 6bda7ceda645e838723883d133d614def1511d16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
Date: Thu, 3 May 2012 15:07:30 +0200
Subject: [PATCH] EXA: Attempt to fix solid picture acceleration with UMS.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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>
---
src/radeon_exa_shared.c | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
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;
}
--
1.7.3.4

View File

@ -0,0 +1,31 @@
From b0b7d8d26fd107df342b5c87b0a38e5bb08101a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
Date: Wed, 9 May 2012 11:08:49 +0200
Subject: [PATCH] EXA/UMS: Synchronize to the GPU before writing solid colour to scratch pixmap.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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>
---
src/radeon_exa_shared.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
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;
--
1.7.3.4

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Jun 8 14:58:57 UTC 2012 - sndirsch@suse.com
- U_EXA-UMS-Synchronize-to-the-GPU-before-writing-solid-.patch
* that one is required to fix the rendering corruption in UMS
introduced with the previous patch (bnc#765973)
-------------------------------------------------------------------
Fri Jun 8 12:52:45 UTC 2012 - sndirsch@suse.com
- U_EXA-Attempt-to-fix-solid-picture-acceleration-with-U.patch
* Attempt to fix solid picture acceleration with UMS. (fdo#49182,
bnc#765973)
-------------------------------------------------------------------
Wed May 16 09:48:51 UTC 2012 - idonmez@suse.com

View File

@ -16,7 +16,6 @@
#
Name: xf86-video-ati
Version: 6.14.4
Release: 0
@ -32,6 +31,8 @@ Patch5: U_xf86-video-ati-6.14.4-exa-solid-accel-evergreen.patch
Patch6: U_xf86-video-ati-6.14.4-exa-solid-accel-r100.patch
Patch7: U_xf86-video-ati-6.14.4-exa-solid-accel-r200.patch
Patch8: U_xf86-video-ati-6.14.4-exa-solid-accel-r300.patch
Patch9: U_EXA-Attempt-to-fix-solid-picture-acceleration-with-U.patch
Patch10: U_EXA-UMS-Synchronize-to-the-GPU-before-writing-solid-.patch
BuildRequires: Mesa-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig(fontsproto)
@ -71,6 +72,8 @@ driver as appropriate.
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%build
%configure