Mailinglist Archive: opensuse-commit (1023 mails)

< Previous Next >
commit xorg-x11-driver-video for openSUSE:Factory
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Fri, 26 Nov 2010 17:35:20 +0100
  • Message-id: <20101126163520.58B7C2029A@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package xorg-x11-driver-video for
openSUSE:Factory
checked in at Fri Nov 26 17:35:20 CET 2010.



--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2010-11-12
19:21:11.000000000 +0100
+++ xorg-x11-driver-video/xorg-x11-driver-video.changes 2010-11-24
15:20:09.000000000 +0100
@@ -1,0 +2,11 @@
+Wed Nov 24 13:35:15 UTC 2010 - sndirsch@xxxxxxxxxx
+
+- xf86-video-intel 2.13.901-20101117-33c0888
+ * uxa: Fix crash after allocation failure
+ * i915: Disable maximum state addresses
+ * uxa: Relax fencing some more for gen3
+ * Mark outputs as DPMSModeOn and restore backlight at mode set
+- xf86-video-intel-Disable-BLT-for-i830-and-845G.patch
+ * Disable BLT for i830 and 845G
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
xf86-video-intel-2.13.901.tar.bz2

New:
----
xf86-video-intel-2.13.901-20101117-33c0888.tar.bz2
xf86-video-intel-Disable-BLT-for-i830-and-845G.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.tvhPOZ/_old 2010-11-26 17:33:51.000000000 +0100
+++ /var/tmp/diff_new_pack.tvhPOZ/_new 2010-11-26 17:33:51.000000000 +0100
@@ -23,7 +23,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel
xorg-x11-server-sdk
Url: http://xorg.freedesktop.org/
Version: 7.5
-Release: 31
+Release: 32
License: MIT License (or similar)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -66,7 +66,7 @@
Source41: xf86-video-vmware-11.0.3.tar.bz2
Source42: xf86-video-voodoo-1.2.4.tar.bz2
Source44: HALlib-4.1.tar.gz
-Source45: xf86-video-intel-2.13.901.tar.bz2
+Source45: xf86-video-intel-2.13.901-20101117-33c0888.tar.bz2
Source46: xf86-video-ati-6.13.2.tar.bz2
Source51: xf86-video-geode-2.11.10.tar.bz2
Source54: xf86-video-mach64-6.8.2.tar.bz2
@@ -101,6 +101,7 @@
Patch141: xf86-video-ati-theatre.patch
Patch142: xf86-video-ati-theatre-pciaccess.patch
Patch143: xf86-video-xgi-buildfix.diff
+Patch144: xf86-video-intel-Disable-BLT-for-i830-and-845G.patch

%description
This package contains X.Org video drivers.
@@ -154,6 +155,7 @@
pushd xf86-video-intel-*
#%patch112 -p1
%patch130 -p0
+%patch144 -p1
popd
pushd xf86-video-nv-*
%patch132 -p1

++++++ xf86-video-intel-Disable-BLT-for-i830-and-845G.patch ++++++
From 0bb135c40e5ac1bf7593ec1d68d2815cbf47aa25 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Date: Tue, 23 Nov 2010 22:27:38 +0000
Subject: [PATCH] Disable BLT for i830 and 845G

This pair of chipsets seem broken beyond repair, specifically the
erratum that causes the wrong PTE entry to be invalidated, so disable
our incorrect attempts to use the BLT on those devices.

Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
---
src/intel.h | 1 +
src/intel_driver.c | 22 +++++++++++++++++-----
src/intel_shadow.c | 4 ++--
3 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/intel.h b/src/intel.h
index fa79a2f..ed21b1e 100644
--- a/src/intel.h
+++ b/src/intel.h
@@ -443,6 +443,7 @@ typedef struct intel_screen_private {

Bool use_pageflipping;
Bool force_fallback;
+ Bool can_blt;
Bool use_shadow;

/* Broken-out options. */
diff --git a/src/intel_driver.c b/src/intel_driver.c
index 926c7e3..e4aecfc 100644
--- a/src/intel_driver.c
+++ b/src/intel_driver.c
@@ -468,8 +468,21 @@ static void I830XvInit(ScrnInfoPtr scrn)
intel->colorKey);
}

-static Bool can_accelerate_2d(struct intel_screen_private *intel)
+static Bool can_accelerate_blt(struct intel_screen_private *intel)
{
+ if (IS_I830(intel) || IS_845G(intel)) {
+ /* These pair of i8xx chipsets have a crippling erratum
+ * that prevents the use of a PTE entry by the BLT
+ * engine immediately following updating that
+ * entry in the GATT.
+ *
+ * As the BLT is fundamental to our 2D acceleration,
+ * and the workaround is lost in the midst of time,
+ * fallback.
+ */
+ return FALSE;
+ }
+
if (INTEL_INFO(intel)->gen >= 60) {
drm_i915_getparam_t gp;
int value;
@@ -592,9 +605,8 @@ static Bool I830PreInit(ScrnInfoPtr scrn, int flags)
intel->tiling = FALSE;
}

- intel->use_shadow = FALSE;
- if (!can_accelerate_2d(intel))
- intel->use_shadow = TRUE;
+ intel->can_blt = can_accelerate_blt(intel);
+ intel->use_shadow = !intel->can_blt;

if (xf86IsOptionSet(intel->Options, OPTION_SHADOW)) {
intel->use_shadow =
@@ -606,7 +618,7 @@ static Bool I830PreInit(ScrnInfoPtr scrn, int flags)
if (intel->use_shadow) {
xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
"Shadow buffer enabled,"
- " GPU acceleration disabled.\n");
+ " 2D GPU acceleration disabled.\n");
}

/* SwapBuffers delays to avoid tearing */
diff --git a/src/intel_shadow.c b/src/intel_shadow.c
index c12febc..b86530a 100644
--- a/src/intel_shadow.c
+++ b/src/intel_shadow.c
@@ -108,7 +108,7 @@ void intel_shadow_blt(intel_screen_private *intel)
int n;

/* Can we trust the BLT? Otherwise do an uncached mmecy. */
- if (IS_GEN2(intel) || IS_GEN6(intel)) {
+ if (!intel->can_blt || IS_GEN2(intel)) {
intel_shadow_memcpy(intel);
return;
}
@@ -149,7 +149,7 @@ void intel_shadow_blt(intel_screen_private *intel)
if (bo == NULL)
return;

- BEGIN_BATCH(8);
+ BEGIN_BATCH_BLT(8);
OUT_BATCH(blt);
OUT_BATCH(br13);
OUT_BATCH(box->y1 << 16 | box->x1);
--
1.7.3.1


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >