rpms/xorg-x11-drv-ati/F-11 radeon-src-readback-cpu.patch, NONE, 1.1 xorg-x11-drv-ati.spec, 1.186, 1.187

Dave Airlie airlied at fedoraproject.org
Tue May 5 05:54:26 UTC 2009


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15116

Modified Files:
	xorg-x11-drv-ati.spec 
Added Files:
	radeon-src-readback-cpu.patch 
Log Message:
* Tue May 05 2009 Dave Airlie <airlied at redhat.com> 6.12.2-11
- make src/mask prepare access force to GTT.


radeon-src-readback-cpu.patch:

--- NEW FILE radeon-src-readback-cpu.patch ---
>From c29c2002c2d3d474456a16584fa2ebef43de8544 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied at linux.ie>
Date: Wed, 6 May 2009 02:54:42 +1000
Subject: [PATCH] radeon: always pull srcs into CPU space for rendering

dsts at least get write combined in theory though who knows with blending

really need an XA already
---
 src/radeon_bufmgr_gem.c |   16 ++++++++++++++++
 src/radeon_bufmgr_gem.h |    1 +
 src/radeon_exa.c        |    6 +++++-
 3 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/src/radeon_bufmgr_gem.c b/src/radeon_bufmgr_gem.c
index 634d28d..03d0a20 100644
--- a/src/radeon_bufmgr_gem.c
+++ b/src/radeon_bufmgr_gem.c
@@ -239,6 +239,22 @@ dri_bufmgr_gem_destroy(dri_bufmgr *bufmgr)
 	free(bufmgr);
 }
 
+void radeon_bufmgr_gem_force_map(dri_bo *buf)
+{
+	dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)buf->bufmgr;
+	struct drm_radeon_gem_set_domain sd_args;
+	dri_bo_gem *gem_bo = (dri_bo_gem *)buf;
+	int ret;
+
+
+	sd_args.handle = gem_bo->gem_handle;
+	sd_args.read_domains = RADEON_GEM_DOMAIN_GTT;
+	sd_args.write_domain = 0;
+
+	ret = drmCommandWriteRead(bufmgr_gem->fd, DRM_RADEON_GEM_SET_DOMAIN,
+				  &sd_args, sizeof(sd_args));
+}
+
 void radeon_bufmgr_gem_wait_rendering(dri_bo *buf)
 {
 	dri_bufmgr_gem *bufmgr_gem = (dri_bufmgr_gem *)buf->bufmgr;
diff --git a/src/radeon_bufmgr_gem.h b/src/radeon_bufmgr_gem.h
index 52b3d99..eb7974e 100644
--- a/src/radeon_bufmgr_gem.h
+++ b/src/radeon_bufmgr_gem.h
@@ -4,6 +4,7 @@
 #include "radeon_dri_bufmgr.h"
 
 
+extern void radeon_bufmgr_gem_force_map(dri_bo *buf);
 extern void radeon_bufmgr_gem_wait_rendering(dri_bo *bo);
 void radeon_bufmgr_gem_emit_reloc(dri_bo *bo, struct radeon_relocs_info *reloc_info, uint32_t *head, uint32_t *count_p, uint32_t read_domains, uint32_t write_domain);
 void radeon_gem_bufmgr_post_submit(dri_bufmgr *bufmgr, struct radeon_relocs_info *reloc_info, int error);
diff --git a/src/radeon_exa.c b/src/radeon_exa.c
index cc48a7a..267c5c3 100644
--- a/src/radeon_exa.c
+++ b/src/radeon_exa.c
@@ -272,7 +272,11 @@ static Bool RADEONPrepareAccess(PixmapPtr pPix, int index)
 	    if (radeon_bufmgr_gem_has_references(driver_priv->bo))
 		RADEONCPFlushIndirect(pScrn, 0);
 
-	    radeon_bufmgr_gem_wait_rendering(driver_priv->bo);
+	    /* if we hit a sw fallback for a src or mask pull them into cpu accessible space */
+	    if (index)
+		radeon_bufmgr_gem_force_map(driver_priv->bo);
+	    else
+	    	radeon_bufmgr_gem_wait_rendering(driver_priv->bo);
 
 	    /* flush IB */
 	    ret = dri_bo_map(driver_priv->bo, 1);
-- 
1.6.2.2



Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-11/xorg-x11-drv-ati.spec,v
retrieving revision 1.186
retrieving revision 1.187
diff -u -p -r1.186 -r1.187
--- xorg-x11-drv-ati.spec	5 May 2009 05:34:42 -0000	1.186
+++ xorg-x11-drv-ati.spec	5 May 2009 05:53:55 -0000	1.187
@@ -5,7 +5,7 @@
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
 Version:   6.12.2
-Release:   10%{?dist}
+Release:   11%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -18,6 +18,7 @@ Patch1:     radeon-modeset.patch
 Patch2:     radeon-modeset-fixes.patch
 Patch6:     radeon-6.9.0-bgnr-enable.patch
 Patch7:	    radeon-6.12.1-r600-fb-size.patch
+Patch8:     radeon-src-readback-cpu.patch
 
 ExcludeArch: s390 s390x
 
@@ -43,6 +44,7 @@ X.Org X11 ati video driver.
 %patch2 -p1 -b .modeset-fixes
 %patch6 -p1 -b .bgnr
 %patch7 -p1 -b .r600-fb-size
+%patch8 -p1 -b .srcrb
 
 %build
 autoreconf -iv
@@ -74,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Tue May 05 2009 Dave Airlie <airlied at redhat.com> 6.12.2-11
+- make src/mask prepare access force to GTT.
+
 * Tue May 05 2009 Dave Airlie <airlied at redhat.com> 6.12.2-10
 - radeon-modeset-fixes.patch: backport fixes from upstream for rs480 firefox gpu crash
 




More information about the scm-commits mailing list