From 6baf60104222d10d805942667b8569af35dbfec8 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 20 Oct 2008 14:37:17 +0000 Subject: [PATCH] * Mon Oct 20 2008 Adam Jackson 1.5.2-8 - xserver-1.5.2-exa-sync-less.patch: Avoid migrating pixmaps out on PutImage. --- xorg-x11-server.spec | 9 ++++++- xserver-1.5.2-exa-sync-less.patch | 42 +++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 xserver-1.5.2-exa-sync-less.patch diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index cce0f58..47e039d 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -19,7 +19,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.5.2 -Release: 7%{?dist} +Release: 8%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -92,6 +92,9 @@ Patch6008: xserver-1.5.2-enable-RAW-console.patch Patch6009: xserver-1.5.2-disable-kbd-mouse.patch Patch6010: xserver-1.5.2-no-duplicate-devices.patch +# exa performance fix +Patch6011: xserver-1.5.2-exa-sync-less.patch + %define moduledir %{_libdir}/xorg/modules %define drimoduledir %{_libdir}/dri %define sdkdir %{_includedir}/xorg @@ -522,6 +525,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Oct 20 2008 Adam Jackson 1.5.2-8 +- xserver-1.5.2-exa-sync-less.patch: Avoid migrating pixmaps out on + PutImage. + * Mon Oct 20 2008 Peter Hutterer 1.5.2-7 - xserver-1.5.2-no-duplicate-devices.patch: don't re-add devices through HAL if they are already added (#467462). diff --git a/xserver-1.5.2-exa-sync-less.patch b/xserver-1.5.2-exa-sync-less.patch new file mode 100644 index 0000000..b7aa27e --- /dev/null +++ b/xserver-1.5.2-exa-sync-less.patch @@ -0,0 +1,42 @@ +From 2188582e5ea90edb432a2f421d0a267439ba08f9 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Michel=20D=C3=A4nzer?= +Date: Mon, 20 Oct 2008 09:55:24 -0400 +Subject: [PATCH] EXA: Avoid excessive syncing in PutImage + +--- + exa/exa_migration.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/exa/exa_migration.c b/exa/exa_migration.c +index 56b6945..571650c 100644 +--- a/exa/exa_migration.c ++++ b/exa/exa_migration.c +@@ -129,6 +129,7 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc, + BoxPtr pBox; + int nbox; + Bool access_prepared = FALSE; ++ Bool need_sync = FALSE; + + /* Damaged bits are valid in current copy but invalid in other one */ + if (exaPixmapIsOffscreen(pPixmap)) { +@@ -220,14 +221,15 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc, + exaMemcpyBox (pPixmap, pBox, + fallback_src, fallback_srcpitch, + fallback_dst, fallback_dstpitch); +- } ++ } else ++ need_sync = TRUE; + + pBox++; + } + + if (access_prepared) + exaFinishAccess(&pPixmap->drawable, fallback_index); +- else ++ else if (need_sync) + sync (pPixmap->drawable.pScreen); + + pExaPixmap->offscreen = save_offscreen; +-- +1.6.0.1 +