rpms/xorg-x11-drv-ati/devel radeon-dont-flush-new-pixmaps.patch, NONE, 1.1 xorg-x11-drv-ati.spec, 1.117, 1.118

Dave Airlie airlied at fedoraproject.org
Fri Sep 26 21:16:32 UTC 2008


Author: airlied

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

Modified Files:
	xorg-x11-drv-ati.spec 
Added Files:
	radeon-dont-flush-new-pixmaps.patch 
Log Message:
- fix fb contents patch
- EXA speedup from otaylor.


radeon-dont-flush-new-pixmaps.patch:

--- NEW FILE radeon-dont-flush-new-pixmaps.patch ---
>From 2ea53929c2e0ed0d9a184680812d8bdacb9d51f2 Mon Sep 17 00:00:00 2001
From: Owen Taylor <otaylor at localhost.localdomain>
Date: Fri, 26 Sep 2008 16:17:49 -0400
Subject: [PATCH] Don't flush when mapping a newly created pixmap into system ram
 If we have a pixmap that has never been mapped into vram (and thus
 never written to by the GPU), there is no need to flush the graphics
 pipeline and wait for idle before starting to write to it.

---
 src/radeon_bufmgr_gem.c |    7 +++++++
 src/radeon_bufmgr_gem.h |    1 +
 src/radeon_exa.c        |    3 ++-
 3 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/radeon_bufmgr_gem.c b/src/radeon_bufmgr_gem.c
index db28edc..d7b5644 100644
--- a/src/radeon_bufmgr_gem.c
+++ b/src/radeon_bufmgr_gem.c
@@ -528,3 +528,10 @@ void radeon_bufmgr_emit_reloc(dri_bo *buf, uint32_t *head, uint32_t *count_p, ui
 	radeon_bufmgr = (struct radeon_bufmgr *)(buf->bufmgr + 1);
 	radeon_bufmgr->emit_reloc(buf, head, count_p, read_domains, write_domain);
 }
+
+int radeon_bufmgr_gem_in_vram(dri_bo *buf)
+{
+	dri_bo_gem *gem_bo = (dri_bo_gem *)buf;
+	
+	return gem_bo->in_vram;
+}
diff --git a/src/radeon_bufmgr_gem.h b/src/radeon_bufmgr_gem.h
index e2f1ca6..d67ddf6 100644
--- a/src/radeon_bufmgr_gem.h
+++ b/src/radeon_bufmgr_gem.h
@@ -11,4 +11,5 @@ void radeon_bufmgr_post_submit(dri_bufmgr *bufmgr);
 void radeon_bufmgr_pin(dri_bo *buf);
 void radeon_bufmgr_unpin(dri_bo *buf);
 uint32_t radeon_bufmgr_get_handle(dri_bo *buf);
+int radeon_bufmgr_gem_in_vram(dir_bo *buf);
 #endif
diff --git a/src/radeon_exa.c b/src/radeon_exa.c
index 555ae16..dee537c 100644
--- a/src/radeon_exa.c
+++ b/src/radeon_exa.c
@@ -235,7 +235,8 @@ static Bool RADEONPrepareAccess(PixmapPtr pPix, int index)
 	if (driver_priv->bo) {
 	    int ret;
 
-	    RADEONCPFlushIndirect(pScrn, 0);
+	    if (radeon_bufmgr_gem_in_vram (driver_priv->bo))
+		RADEONCPFlushIndirect(pScrn, 0);
 
 	    //radeon_bufmgr_gem_wait_rendering(driver_priv->bo);
 
-- 
1.6.0.1



Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/xorg-x11-drv-ati.spec,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -r1.117 -r1.118
--- xorg-x11-drv-ati.spec	26 Sep 2008 01:41:42 -0000	1.117
+++ xorg-x11-drv-ati.spec	26 Sep 2008 21:16:01 -0000	1.118
@@ -5,7 +5,7 @@
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
 Version:   6.9.0
-Release:   17%{?dist}
+Release:   18%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -20,6 +20,7 @@
 Patch4:     radeon-6.9.0-remove-limit-heuristics.patch
 Patch5:	    radeon-6.9.0-panel-size-sanity.patch
 Patch6:     copy-fb-contents.patch
+Patch7:     radeon-dont-flush-new-pixmaps.patch
 
 ExcludeArch: s390 s390x
 
@@ -44,6 +45,7 @@
 %patch4 -p1 -b .remove-limit-heuristics
 %patch5 -p1 -b .panel-size
 %patch6 -p1 -b .copy-fb-contents
+%patch7 -p1 -b .dont-flush
 
 %build
 autoreconf
@@ -75,6 +77,10 @@
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Sat Sep 27 2008 Dave Airlie <airlied at redhat.com> 6.9.0-18
+- fix fb contents patch
+- EXA speedup from otaylor.
+
 * Fri Sep 26 2008 Dave Airlie <airlied at redhat.com> 6.9.0-17
 - exa offset fixes for changes in X server
 




More information about the fedora-extras-commits mailing list