diff --git a/r600-enable-mixed.patch b/r600-enable-mixed.patch new file mode 100644 index 0000000..10e11d0 --- /dev/null +++ b/r600-enable-mixed.patch @@ -0,0 +1,17 @@ +diff --git a/src/r600_exa.c b/src/r600_exa.c +index 86da68c..4e42509 100644 +--- a/src/r600_exa.c ++++ b/src/r600_exa.c +@@ -2330,9 +2330,9 @@ R600DrawInit(ScreenPtr pScreen) + #ifdef EXA_HANDLES_PIXMAPS + if (info->cs) { + info->accel_state->exa->flags |= EXA_HANDLES_PIXMAPS; +-//#ifdef EXA_MIXED_PIXMAPS +-// info->accel_state->exa->flags |= EXA_MIXED_PIXMAPS; +-//#endif ++#ifdef EXA_MIXED_PIXMAPS ++ info->accel_state->exa->flags |= EXA_MIXED_PIXMAPS; ++#endif + } + #endif + #endif diff --git a/r600-fix-exa-crash.patch b/r600-fix-exa-crash.patch new file mode 100644 index 0000000..0d4e49c --- /dev/null +++ b/r600-fix-exa-crash.patch @@ -0,0 +1,39 @@ +From 0bb0ff0e55aaf8e64017d204e376a14f0a7384a3 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Thu, 10 Sep 2009 11:48:00 +1000 +Subject: [PATCH] r6xx: fix EXA crash with gtkperf -a + +unmapping was getting unbalanced. +--- + src/r6xx_accel.c | 7 ++++--- + 1 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/r6xx_accel.c b/src/r6xx_accel.c +index 985595e..3202d51 100644 +--- a/src/r6xx_accel.c ++++ b/src/r6xx_accel.c +@@ -48,7 +48,7 @@ void r600_cs_flush_indirect(ScrnInfoPtr pScrn) + if (!info->cs->cdw) + return; + +- if (info->accel_state->vb_bo) { ++ if (info->accel_state->vb_ptr) { + radeon_bo_unmap(info->accel_state->vb_bo); + info->accel_state->vb_ptr = NULL; + } +@@ -106,9 +106,10 @@ void R600IBDiscard(ScrnInfoPtr pScrn, drmBufPtr ib) + int ret; + RADEONInfoPtr info = RADEONPTR(pScrn); + if (info->cs) { +- if (info->accel_state->vb_bo) ++ if (info->accel_state->vb_ptr) { + radeon_bo_unmap(info->accel_state->vb_bo); +- info->accel_state->vb_bo = NULL; ++ info->accel_state->vb_ptr = NULL; ++ } + if (CS_FULL(info->cs)) { + r600_cs_flush_indirect(pScrn); + return; +-- +1.6.4.2 + diff --git a/xorg-x11-drv-ati.spec b/xorg-x11-drv-ati.spec index 7067ae0..7fbbad8 100644 --- a/xorg-x11-drv-ati.spec +++ b/xorg-x11-drv-ati.spec @@ -7,7 +7,7 @@ Summary: Xorg X11 ati video driver Name: xorg-x11-drv-ati Version: 6.13.0 -Release: 0.3.%{gitdate}git%{gitversion}%{?dist} +Release: 0.4.%{gitdate}git%{gitversion}%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support @@ -21,6 +21,8 @@ Source1: mkxinf Patch6: radeon-6.9.0-bgnr-enable.patch Patch10: radeon-6.12.2-lvds-default-modes.patch Patch13: fix-default-modes.patch +Patch14: r600-enable-mixed.patch +Patch15: r600-fix-exa-crash.patch ExcludeArch: s390 s390x @@ -47,6 +49,8 @@ X.Org X11 ati video driver. %patch6 -p1 -b .bgnr %patch10 -p1 -b .lvds %patch13 -p1 -b .def +%patch14 -p1 -b .mix +%patch15 -p1 -b .fixexa %build autoreconf -iv @@ -80,6 +84,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man4/radeon.4* %changelog +* Thu Sep 10 2009 Dave Airlie 6.13.0-0.4.20090908git651fe5a47 +- fix EXA server crasher + use mixed pixmaps for speed ups + * Tue Sep 08 2009 Dave Airlie 6.13.0-0.3.20090908git651fe5a47 - New snapshot with r600 kms support