[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Permission to upload xserver-xorg-video-intel 2:2.13.0-2



Hi,

I'd like to upload xserver-xorg-video-intel 2:2.13.0-2, mainly for
documentation reasons. Currently, we have in sid/squeeze a snapshot
from upstream, namely: 2:2.12.0+shadow-2. There were only a few
commits upstream between what we merged and 2.13.0; a full git log is
attached as upstream.diff; excluding (obvious?) doc-only changes,
functional changes are:
 * Fix to depend on the (just-released) libdrm >= 2.4.22
   → We've put everything we need in 2.4.21-1~squeeze3; so we kill
     that change (see 2nd and 3rd bullet in Debian changelog); no-op.
 * Retry framebuffer allocation if first attempt fails.
   → Bugfix.
 * Disable dri2 after forcing fallbacks
   → Bugfix.
 * Make driver compile for 1.6 Xserver series again.
   → No-op, since we're on >= 1.7
 * display: Refactor is_panel()
   → No-op.
 * Allow interlaced modes.
   → Tiny improvement [3 files changed, 15 insertions(+), 2 deletions(-)].

On the Debian side, the changelog looks like this:
| xserver-xorg-video-intel (2:2.13.0-2) unstable; urgency=low
| 
|   * Merge from experimental.
|   * Lower build-dep on libdrm-dev from 2.4.22 to 2.4.21-1~squeeze3 since
|     the latter contains the needed bits, making it possible to build
|     within unstable.
|   * Add patch to make configure.ac happy: libdrm-from-sid-is-ok.diff
|   * Add README.Debian documenting the need for a kernel driver to handle
|     modesetting.
| 
|  -- Cyril Brulebois <kibi@debian.org>  Mon, 01 Nov 2010 21:27:25 +0100

We've had some complaints about KMS, README.Debian should clarify a
bit:
  1. it's indeed mandatory now;
  2. what's needed if one isn't running a Debian kernel;
  3. possible fallbacks for desperate users.

Here it is:
| xserver-xorg-video-intel (2:2.13.0-2) unstable; urgency=low
| 
|   * Starting from 2.10, the Intel X driver depends on a kernel driver for
|     mode setting (that's called KMS). The corresponding kernel option is
|     CONFIG_DRM_I915, and is enabled in Debian kernels.
|   * To enable KMS, either of those should be sufficient:
|      + /etc/modprobe.d/i915-kms.conf should contain:
|          options i915 modeset=1
|      + CONFIG_DRM_I915_KMS=y should be set in the kernel config.
|   * If you have issues with this driver, the "vesa" or "fbdev" drivers
|     may be useful fallbacks.
| 
|  -- Cyril Brulebois <kibi@debian.org>  Mon, 01 Nov 2010 21:27:25 +0100

The full diff from against sid/squeeze is attached as everything.diff

Does that sounds reasonable to upload it to sid and ask for an
unblock? In any case, thanks for your time.

Mraw,
KiBi.
commit 9f232ad67c72b7869dcd112207bc41dc01d7d104
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 30 08:45:49 2010 -0700

    Increment version to 2.13.0
    
    For the new, major release.

commit 99ec9bb0f1eaf2e5c04614957a51624a928526e5
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 30 08:45:15 2010 -0700

    Add release notes for the 2.13.0 release.
    
    Which is functionalliy identical to 2.12.902.

commit d4c013cb9d92d2959c9a98eca20e43ab14ae22e3
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 28 20:49:52 2010 -0700

    Increment version to 2.12.902
    
    Just before making the 2.12.902 (2.13-rc2) snapshot.

commit 35e7da7df0b286b5168a85d540cc9fdf55c1cae6
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 28 20:49:10 2010 -0700

    Add release notes for the 2.12.902 snapshot.
    
    Summarizing the 5 recent changes to the driver.

commit 5704955538f59a2b7a5eff67cc23953d2f27d523
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 28 20:44:40 2010 -0700

    Fix to depend on the (just-released) libdrm >= 2.4.22
    
    With libdrm < 2.4.22, the compilation of xf86-video-intel would fail
    due to an undefined DRM_MODE_CONNECTOR_eDP. We now ensure that a
    sufficiently new libdrm is available before compiling.

commit 40c9d180bf43af84ae05d88e993deedf76e263e6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Sep 26 23:09:04 2010 +0100

    Retry framebuffer allocation if first attempt fails.
    
    If we are tiled, we may fail the allocation due to an EIO and so not
    being able to set tiling. Try again with an untiled request in this
    case.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit 537e73f3f935b917f2f5f9b51499cb29d65e3889
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Sep 24 17:37:41 2010 +0100

    Disable dri2 after forcing fallbacks
    
    If we force fallbacks, then we will only create pixmaps in system
    memory, preventing DRI2 from passing valid bo names to the clients. In
    this case, they will just fallback to swrast. If we disable DRI2 after
    forcing fallbacks (e.g. regenerating after a GPU hang or explicitly
    disabled with the shadow buffer) then it is simpler just to disable the
    extension and allow mesa to use pure swrast.
    
    Reported-by: Julien Cristau <jcristau@debian.org>
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit b84925b9c0842ba4dfa3481c09d3a80f84db4838
Author: Matthias Hopf <mhopf@suse.de>
Date:   Tue Aug 17 18:05:02 2010 +0200

    Make driver compile for 1.6 Xserver series again.
    
    Signed-off-by: Matthias Hopf <mhopf@suse.de>

commit 99f8d68d3dbc54fdd7de4a6df546cfa89422a0c2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Sep 22 12:34:00 2010 +0100

    display: Refactor is_panel()
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit 4ba27e1f2198fc10a1dd268ed9f137bac6e80086
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 21 17:43:01 2010 -0700

    Bump version to 2.12.901
    
    Just prior to pushing out this new snapshot.

commit 334265fa5ef18405bd8c897343fff49ad53f5fce
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 21 17:42:21 2010 -0700

    NEWS: Add notes for the 2.12.901 snapshot
    
    (Otherwise known as rc1 for 2.13)

commit bfba6d6148b938588ffbefdf04f4e71683c66dfd
Author: Krzysztof Halasa <khc@pm.waw.pl>
Date:   Tue Sep 21 22:56:26 2010 +0100

    Allow interlaced modes.
    
    This may not the best method, but it should be a good base on which to
    build...
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/ChangeLog b/ChangeLog
index 2bb7d65..954e305 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,116 @@
+commit 9f232ad67c72b7869dcd112207bc41dc01d7d104
+Author: Carl Worth <cworth@cworth.org>
+Date:   Thu Sep 30 08:45:49 2010 -0700
+
+    Increment version to 2.13.0
+    
+    For the new, major release.
+
+commit 99ec9bb0f1eaf2e5c04614957a51624a928526e5
+Author: Carl Worth <cworth@cworth.org>
+Date:   Thu Sep 30 08:45:15 2010 -0700
+
+    Add release notes for the 2.13.0 release.
+    
+    Which is functionalliy identical to 2.12.902.
+
+commit d4c013cb9d92d2959c9a98eca20e43ab14ae22e3
+Author: Carl Worth <cworth@cworth.org>
+Date:   Tue Sep 28 20:49:52 2010 -0700
+
+    Increment version to 2.12.902
+    
+    Just before making the 2.12.902 (2.13-rc2) snapshot.
+
+commit 35e7da7df0b286b5168a85d540cc9fdf55c1cae6
+Author: Carl Worth <cworth@cworth.org>
+Date:   Tue Sep 28 20:49:10 2010 -0700
+
+    Add release notes for the 2.12.902 snapshot.
+    
+    Summarizing the 5 recent changes to the driver.
+
+commit 5704955538f59a2b7a5eff67cc23953d2f27d523
+Author: Carl Worth <cworth@cworth.org>
+Date:   Tue Sep 28 20:44:40 2010 -0700
+
+    Fix to depend on the (just-released) libdrm >= 2.4.22
+    
+    With libdrm < 2.4.22, the compilation of xf86-video-intel would fail
+    due to an undefined DRM_MODE_CONNECTOR_eDP. We now ensure that a
+    sufficiently new libdrm is available before compiling.
+
+commit 40c9d180bf43af84ae05d88e993deedf76e263e6
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Sep 26 23:09:04 2010 +0100
+
+    Retry framebuffer allocation if first attempt fails.
+    
+    If we are tiled, we may fail the allocation due to an EIO and so not
+    being able to set tiling. Try again with an untiled request in this
+    case.
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 537e73f3f935b917f2f5f9b51499cb29d65e3889
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Fri Sep 24 17:37:41 2010 +0100
+
+    Disable dri2 after forcing fallbacks
+    
+    If we force fallbacks, then we will only create pixmaps in system
+    memory, preventing DRI2 from passing valid bo names to the clients. In
+    this case, they will just fallback to swrast. If we disable DRI2 after
+    forcing fallbacks (e.g. regenerating after a GPU hang or explicitly
+    disabled with the shadow buffer) then it is simpler just to disable the
+    extension and allow mesa to use pure swrast.
+    
+    Reported-by: Julien Cristau <jcristau@debian.org>
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit b84925b9c0842ba4dfa3481c09d3a80f84db4838
+Author: Matthias Hopf <mhopf@suse.de>
+Date:   Tue Aug 17 18:05:02 2010 +0200
+
+    Make driver compile for 1.6 Xserver series again.
+    
+    Signed-off-by: Matthias Hopf <mhopf@suse.de>
+
+commit 99f8d68d3dbc54fdd7de4a6df546cfa89422a0c2
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Wed Sep 22 12:34:00 2010 +0100
+
+    display: Refactor is_panel()
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 4ba27e1f2198fc10a1dd268ed9f137bac6e80086
+Author: Carl Worth <cworth@cworth.org>
+Date:   Tue Sep 21 17:43:01 2010 -0700
+
+    Bump version to 2.12.901
+    
+    Just prior to pushing out this new snapshot.
+
+commit 334265fa5ef18405bd8c897343fff49ad53f5fce
+Author: Carl Worth <cworth@cworth.org>
+Date:   Tue Sep 21 17:42:21 2010 -0700
+
+    NEWS: Add notes for the 2.12.901 snapshot
+    
+    (Otherwise known as rc1 for 2.13)
+
+commit bfba6d6148b938588ffbefdf04f4e71683c66dfd
+Author: Krzysztof Halasa <khc@pm.waw.pl>
+Date:   Tue Sep 21 22:56:26 2010 +0100
+
+    Allow interlaced modes.
+    
+    This may not the best method, but it should be a good base on which to
+    build...
+    
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+
 commit f63c7df6866fed61551d39209b1a262e2a0c4b28
 Author: Zhenyu Wang <zhenyuw@linux.intel.com>
 Date:   Fri Sep 17 16:39:12 2010 +0800
diff --git a/NEWS b/NEWS
index aee6a21..05d3849 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,118 @@
-Snapshot 2.12.0 (2010-06-24)
-=============================
+Release 2.13.0 (2010-09-30)
+===========================
+We are pleased to announce this major release of the xf86-video-intel
+driver, on schedule at 3 months since 2.12.0. With the many bug fixes
+in this release, we encourage everyone using 2.12 to upgrade to 2.13.
+
+[This release is functionally identical to the earlier 2.12.902
+release candidate.]
+
+New requirements compared to 2.12
+---------------------------------
+ * Librdrm >= 2.4.22
+
+Bug fixes
+---------
+ * Attempt to fix infinite MI_WAIT_FOR_EVENT while watching video
+   https://bugs.freedesktop.org/show_bug.cgi?id=28964
+
+   [Various new checks have been added to the video code here, but the
+   bug fix hasn't yet been verified by the original reporter.]
+
+ * Fix buffer-object leak
+   https://bugs.freedesktop.org/show_bug.cgi?id=26946
+
+ * Fix memory leak on server reset
+
+ * Fix crash due to unchecked pixmap allocation
+   https://bugs.freedesktop.org/show_bug.cgi?id=29187
+
+ * Fix for video artifacts when using dualscreen
+   https://bugs.freedesktop.org/show_bug.cgi?id=29213
+
+ * Fix for incorrect characters in gnome-terminal when using compiz
+   https://bugs.freedesktop.org/show_bug.cgi?id=28438
+
+ * Fix for hanging, full-screen applications, (flash, compiz, etc.)
+   https://bugs.freedesktop.org/show_bug.cgi?id=29584
+
+ * Fix selection of backlight device on multi-GPU systems
+   https://bugs.freedesktop.org/show_bug.cgi?id=29273
+
+ * Fix to avoid crash with extremely large glyphs
+   https://bugs.freedesktop.org/show_bug.cgi?id=29430
+
+ * Fix for eDP panels incorrectly being given only a single, valid mode
+   https://bugs.freedesktop.org/show_bug.cgi?id=30069
+
+ * Fix GPU hang involving clipped SRC copies
+   https://bugs.freedesktop.org/show_bug.cgi?id=30120
+
+ * Fix to compile for 1.6 series X server.
+
+ * Fix to retry framebuffer allocation after an initial failure.
+
+ * Fix to disable dri2 after fallbacks are forced on.
+
+Snapshot 2.12.902 (2010-09-28)
+==============================
+This is the second release candidate in preparation for the upcoming
+2.13.0 release. The comes exactly one week after 2.12.902 and includes
+only a handful of changes.
+
+One significant change is that the drive now requires libdrm 2.4.22
+(or newer), as several people reported compilation failures of
+xf86-video-intel 2.12.901 with libdrm 2.4.21.
+
+Other changes include a fix to compile for the 1.6 series X server, a
+fix to retry framebuffer allocation after an initial failure, and a
+fix to disable dri2 after fallbacks are forced on.
+
+Snapshot 2.12.901 (2010-09-21)
+==============================
+This is the first release candidate in preparation for the upcoming
+2.13.0 release. We will appreciate any feedback we can get from
+testing of this snapshot.
+
+Bugs fixed in this snapshot (compared to 2.12.0)
+------------------------------------------------
+ * Attempt to fix infinite MI_WAIT_FOR_EVENT while watching video
+   https://bugs.freedesktop.org/show_bug.cgi?id=28964
+
+   [Various new checks have been added to the video code here, but the
+   bug fix hasn't yet been verified by the original reporter.]
+
+ * Fix buffer-object leak
+   https://bugs.freedesktop.org/show_bug.cgi?id=26946
+
+ * Fix memory leak on server reset
+
+ * Fix crash due to unchecked pixmap allocation
+   https://bugs.freedesktop.org/show_bug.cgi?id=29187
+
+ * Fix for video artifacts when using dualscreen
+   https://bugs.freedesktop.org/show_bug.cgi?id=29213
+
+ * Fix for incorrect characters in gnome-terminal when using compiz
+   https://bugs.freedesktop.org/show_bug.cgi?id=28438
+
+ * Fix for hanging, full-screen applications, (flash, compiz, etc.)
+   https://bugs.freedesktop.org/show_bug.cgi?id=29584
+
+ * Fix selection of backlight device on multi-GPU systems
+   https://bugs.freedesktop.org/show_bug.cgi?id=29273
+
+ * Fix to avoid crash with extremely large glyphs
+   https://bugs.freedesktop.org/show_bug.cgi?id=29430
+
+ * Fix for eDP panels incorrectly being given only a single, valid mode
+   https://bugs.freedesktop.org/show_bug.cgi?id=30069
+
+ * Fix GPU hang involving clipped SRC copies
+   https://bugs.freedesktop.org/show_bug.cgi?id=30120
+
+Release 2.12.0 (2010-06-24)
+===========================
 We are pleased to announce this major release of the xf86-video-intel
 2D driver. It contains many correctness and performance improvements
 compared to the 2.11 releases. We encourage everyone using 2.11 to
diff --git a/configure.ac b/configure.ac
index 2845702..ece516b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-intel],
-        [2.12.0],
+        [2.13.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-intel])
 AC_CONFIG_SRCDIR([Makefile.am])
@@ -79,7 +79,7 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 
 # Obtain compiler/linker options for the driver dependencies
 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6 xproto fontsproto $REQUIRED_MODULES])
-PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.21])
+PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.22])
 PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
 
 sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..520b6ec
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,13 @@
+xserver-xorg-video-intel (2:2.13.0-2) unstable; urgency=low
+
+  * Starting from 2.10, the Intel X driver depends on a kernel driver for
+    mode setting (that's called KMS). The corresponding kernel option is
+    CONFIG_DRM_I915, and is enabled in Debian kernels.
+  * To enable KMS, either of those should be sufficient:
+     + /etc/modprobe.d/i915-kms.conf should contain:
+         options i915 modeset=1
+     + CONFIG_DRM_I915_KMS=y should be set in the kernel config.
+  * If you have issues with this driver, the "vesa" or "fbdev" drivers
+    may be useful fallbacks.
+
+ -- Cyril Brulebois <kibi@debian.org>  Mon, 01 Nov 2010 21:27:25 +0100
diff --git a/debian/changelog b/debian/changelog
index 506734d..2838a2f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,30 @@
+xserver-xorg-video-intel (2:2.13.0-2) unstable; urgency=low
+
+  * Merge from experimental.
+  * Lower build-dep on libdrm-dev from 2.4.22 to 2.4.21-1~squeeze3 since
+    the latter contains the needed bits, making it possible to build
+    within unstable.
+  * Add patch to make configure.ac happy: libdrm-from-sid-is-ok.diff
+  * Add README.Debian documenting the need for a kernel driver to handle
+    modesetting.
+
+ -- Cyril Brulebois <kibi@debian.org>  Mon, 01 Nov 2010 21:27:25 +0100
+
+xserver-xorg-video-intel (2:2.13.0-1) experimental; urgency=low
+
+  [ Sven Joachim ]
+  * New upstream release.
+  * Bump libdrm build-dependency to 2.4.22.
+
+  [ Cyril Brulebois ]
+  * Bump xutils-dev build-dependency to 1:7.5+4 (needed for xorg macros
+    1.8).
+  * Picked from unstable to avoid introducing back binaries on non-Linux
+    architectures: UMS is gone, this means Linux-only.
+  * Add myself to Uploaders.
+
+ -- Cyril Brulebois <kibi@debian.org>  Sat, 02 Oct 2010 09:51:48 +0200
+
 xserver-xorg-video-intel (2:2.12.0+shadow-2) unstable; urgency=low
 
   * UMS is gone, this means Linux-only (closes: 597845).
diff --git a/debian/control b/debian/control
index b09631c..8a77241 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: xserver-xorg-video-intel
 Section: x11
 Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
-Uploaders: David Nusinow <dnusinow@debian.org>, Drew Parsons <dparsons@debian.org>, Brice Goglin <bgoglin@debian.org>
+Uploaders: David Nusinow <dnusinow@debian.org>, Drew Parsons <dparsons@debian.org>, Brice Goglin <bgoglin@debian.org>, Cyril Brulebois <kibi@debian.org>
 Build-Depends:
  debhelper (>= 5),
  pkg-config,
@@ -33,7 +33,7 @@ Build-Depends:
  quilt,
  automake,
  libtool,
- xutils-dev (>= 1:7.5)
+ xutils-dev (>= 1:7.5+4),
 Standards-Version: 3.8.4
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-intel
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-intel.git
diff --git a/debian/patches/libdrm-from-sid-is-ok.diff b/debian/patches/libdrm-from-sid-is-ok.diff
new file mode 100644
index 0000000..20bcb84
--- /dev/null
+++ b/debian/patches/libdrm-from-sid-is-ok.diff
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -79,7 +79,7 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xex
+ 
+ # Obtain compiler/linker options for the driver dependencies
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6 xproto fontsproto $REQUIRED_MODULES])
+-PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.22])
++PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.21])
+ PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
+ 
+ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
diff --git a/debian/patches/series b/debian/patches/series
index 796bcfe..2df9b34 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 shadow-no-dri2.diff
 i8xx-shadow.diff
+ibdrm-from-sid-is-ok.diff
diff --git a/src/i915_render.c b/src/i915_render.c
index f50b5c9..fafdac5 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -82,8 +82,10 @@ static struct formatinfo i915_tex_formats[] = {
 	{PICT_x8r8g8b8, MAPSURF_32BIT | MT_32BIT_XRGB8888},
 	{PICT_a8b8g8r8, MAPSURF_32BIT | MT_32BIT_ABGR8888},
 	{PICT_x8b8g8r8, MAPSURF_32BIT | MT_32BIT_XBGR8888},
+#if XORG_VERSION_CURRENT >= 10699900
 	{PICT_a2r10g10b10, MAPSURF_32BIT | MT_32BIT_ARGB2101010},
 	{PICT_a2b10g10r10, MAPSURF_32BIT | MT_32BIT_ABGR2101010},
+#endif
 	{PICT_r5g6b5, MAPSURF_16BIT | MT_16BIT_RGB565},
 	{PICT_a1r5g5b5, MAPSURF_16BIT | MT_16BIT_ARGB1555},
 	{PICT_a4r4g4b4, MAPSURF_16BIT | MT_16BIT_ARGB4444},
@@ -156,10 +158,12 @@ static Bool i915_get_dest_format(PicturePtr dest_picture, uint32_t * dst_format)
 	case PICT_x1r5g5b5:
 		*dst_format = COLR_BUF_ARGB1555;
 		break;
+#if XORG_VERSION_CURRENT >= 10699900
 	case PICT_a2r10g10b10:
 	case PICT_x2r10g10b10:
 		*dst_format = COLR_BUF_ARGB2AAA;
 		break;
+#endif
 	case PICT_a8:
 		*dst_format = COLR_BUF_8BIT;
 		break;
diff --git a/src/i965_render.c b/src/i965_render.c
index 37a7ab7..15fbe49 100644
--- a/src/i965_render.c
+++ b/src/i965_render.c
@@ -117,10 +117,12 @@ static struct formatinfo i965_tex_formats[] = {
 	{PICT_r8g8b8, BRW_SURFACEFORMAT_R8G8B8_UNORM},
 	{PICT_r5g6b5, BRW_SURFACEFORMAT_B5G6R5_UNORM},
 	{PICT_a1r5g5b5, BRW_SURFACEFORMAT_B5G5R5A1_UNORM},
+#if XORG_VERSION_CURRENT >= 10699900
 	{PICT_a2r10g10b10, BRW_SURFACEFORMAT_B10G10R10A2_UNORM},
 	{PICT_x2r10g10b10, BRW_SURFACEFORMAT_B10G10R10X2_UNORM},
 	{PICT_a2b10g10r10, BRW_SURFACEFORMAT_R10G10B10A2_UNORM},
 	{PICT_x2r10g10b10, BRW_SURFACEFORMAT_B10G10R10X2_UNORM},
+#endif
 	{PICT_a4r4g4b4, BRW_SURFACEFORMAT_B4G4R4A4_UNORM},
 };
 
@@ -169,10 +171,12 @@ static Bool i965_get_dest_format(PicturePtr dest_picture, uint32_t * dst_format)
 	case PICT_x8b8g8r8:
 		*dst_format = BRW_SURFACEFORMAT_R8G8B8A8_UNORM;
 		break;
+#if XORG_VERSION_CURRENT >= 10699900
 	case PICT_a2r10g10b10:
 	case PICT_x2r10g10b10:
 		*dst_format = BRW_SURFACEFORMAT_B10G10R10A2_UNORM;
 		break;
+#endif
 	case PICT_r5g6b5:
 		*dst_format = BRW_SURFACEFORMAT_B5G6R5_UNORM;
 		break;
diff --git a/src/intel_display.c b/src/intel_display.c
index 5d85baa..d32224e 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -658,6 +658,13 @@ intel_crtc_init(ScrnInfoPtr scrn, struct intel_mode *mode, int num)
 	list_add(&intel_crtc->link, &mode->crtcs);
 }
 
+static Bool
+is_panel(int type)
+{
+	return (type == DRM_MODE_CONNECTOR_LVDS ||
+	       	type == DRM_MODE_CONNECTOR_eDP);
+}
+
 static xf86OutputStatus
 intel_output_detect(xf86OutputPtr output)
 {
@@ -823,8 +830,7 @@ intel_output_get_modes(xf86OutputPtr output)
 	 * If it is incorrect, please fix me.
 	 */
 	intel_output->has_panel_limits = FALSE;
-	if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS ||
-	    koutput->connector_type == DRM_MODE_CONNECTOR_eDP) {
+	if (is_panel(koutput->connector_type)) {
 		for (i = 0; i < koutput->count_modes; i++) {
 			drmModeModeInfo *mode_ptr;
 
@@ -1155,7 +1161,11 @@ intel_output_set_property(xf86OutputPtr output, Atom property,
 		}
 	}
 
-	return FALSE;
+	/* We didn't recognise this property, just report success in order
+	 * to allow the set to continue, otherwise we break setting of
+	 * common properties like EDID.
+	 */
+	return TRUE;
 }
 
 static Bool
@@ -1293,12 +1303,12 @@ intel_output_init(ScrnInfoPtr scrn, struct intel_mode *mode, int num)
 	output->subpixel_order = subpixel_conv_table[koutput->subpixel];
 	output->driver_private = intel_output;
 
-	if (koutput->connector_type == DRM_MODE_CONNECTOR_LVDS ||
-	    koutput->connector_type == DRM_MODE_CONNECTOR_eDP)
+	if (is_panel(koutput->connector_type))
 		intel_output_backlight_init(output);
 
 	output->possible_crtcs = kencoder->possible_crtcs;
 	output->possible_clones = kencoder->possible_clones;
+	output->interlaceAllowed = TRUE;
 
 	intel_output->output = output;
 	list_add(&intel_output->link, &mode->outputs);
diff --git a/src/intel_dri.c b/src/intel_dri.c
index db1f81a..9804272 100644
--- a/src/intel_dri.c
+++ b/src/intel_dri.c
@@ -367,6 +367,12 @@ I830DRI2CopyRegion(DrawablePtr drawable, RegionPtr pRegion,
 				    event = MI_WAIT_FOR_PIPEB_SVBLANK;
 			}
 
+			if (scrn->currentMode->Flags & V_INTERLACE) {
+				/* DSL count field lines */
+				y1 /= 2;
+				y2 /= 2;
+			}
+
 			BEGIN_BATCH(5);
 			/*
 			 * The documentation says that the LOAD_SCAN_LINES
@@ -1023,6 +1029,12 @@ Bool I830DRI2ScreenInit(ScreenPtr screen)
 	const char *driverNames[1];
 #endif
 
+	if (intel->force_fallback) {
+		xf86DrvMsg(scrn->scrnIndex, X_WARNING,
+			   "cannot enable DRI2 whilst forcing software fallbacks\n");
+		return FALSE;
+	}
+
 	if (xf86LoaderCheckSymbol("DRI2Version"))
 		DRI2Version(&dri2_major, &dri2_minor);
 
diff --git a/src/intel_driver.c b/src/intel_driver.c
index c0ad69e..d086d94 100644
--- a/src/intel_driver.c
+++ b/src/intel_driver.c
@@ -588,13 +588,59 @@ static Bool I830PreInit(ScrnInfoPtr scrn, int flags)
 	intel_check_chipset_option(scrn);
 	intel_check_dri_option(scrn);
 
-	I830XvInit(scrn);
-
 	if (!intel_init_bufmgr(intel)) {
 		PreInitCleanup(scrn);
 		return FALSE;
 	}
 
+	intel->force_fallback =
+		drmCommandNone(intel->drmSubFD, DRM_I915_GEM_THROTTLE) != 0;
+	intel->use_shadow = FALSE;
+
+	/* Enable tiling by default */
+	intel->tiling = TRUE;
+
+	/* Allow user override if they set a value */
+	if (xf86IsOptionSet(intel->Options, OPTION_TILING)) {
+		if (xf86ReturnOptValBool(intel->Options, OPTION_TILING, FALSE))
+			intel->tiling = TRUE;
+		else
+			intel->tiling = FALSE;
+	}
+
+	if (xf86IsOptionSet(intel->Options, OPTION_SHADOW)) {
+		if (xf86ReturnOptValBool(intel->Options, OPTION_SHADOW, FALSE))
+			intel->force_fallback = intel->use_shadow = TRUE;
+	}
+
+	if (intel->use_shadow) {
+		xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
+			   "Shadow buffer enabled,"
+			   " GPU acceleration disabled.\n");
+	}
+
+	/* SwapBuffers delays to avoid tearing */
+	intel->swapbuffers_wait = TRUE;
+
+	/* Allow user override if they set a value */
+	if (xf86IsOptionSet(intel->Options, OPTION_SWAPBUFFERS_WAIT)) {
+		if (xf86ReturnOptValBool
+		    (intel->Options, OPTION_SWAPBUFFERS_WAIT, FALSE))
+			intel->swapbuffers_wait = TRUE;
+		else
+			intel->swapbuffers_wait = FALSE;
+	}
+
+	if (IS_GEN6(intel))
+	    intel->swapbuffers_wait = FALSE;
+
+	xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Tiling %sabled\n",
+		   intel->tiling ? "en" : "dis");
+	xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "SwapBuffers wait %sabled\n",
+		   intel->swapbuffers_wait ? "en" : "dis");
+
+	I830XvInit(scrn);
+
 	if (!intel_mode_pre_init(scrn, intel->drmSubFD, intel->cpp)) {
 		PreInitCleanup(scrn);
 		return FALSE;
@@ -830,57 +876,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
 
 	scrn->videoRam = device->regions[fb_bar].size / 1024;
 
-#ifdef DRI2
-	if (intel->directRenderingType == DRI_NONE
-	    && I830DRI2ScreenInit(screen))
-		intel->directRenderingType = DRI_DRI2;
-#endif
-
-	intel->force_fallback = FALSE;
-	intel->use_shadow = FALSE;
-
-	/* Enable tiling by default */
-	intel->tiling = TRUE;
-
-	/* Allow user override if they set a value */
-	if (xf86IsOptionSet(intel->Options, OPTION_TILING)) {
-		if (xf86ReturnOptValBool(intel->Options, OPTION_TILING, FALSE))
-			intel->tiling = TRUE;
-		else
-			intel->tiling = FALSE;
-	}
-
-	if (xf86IsOptionSet(intel->Options, OPTION_SHADOW)) {
-		if (xf86ReturnOptValBool(intel->Options, OPTION_SHADOW, FALSE))
-			intel->force_fallback = intel->use_shadow = TRUE;
-	}
-
-	if (intel->use_shadow) {
-		xf86DrvMsg(scrn->scrnIndex, X_CONFIG,
-			   "Shadow buffer enabled,"
-			   " GPU acceleration disabled.\n");
-	}
-
-	/* SwapBuffers delays to avoid tearing */
-	intel->swapbuffers_wait = TRUE;
-
-	/* Allow user override if they set a value */
-	if (xf86IsOptionSet(intel->Options, OPTION_SWAPBUFFERS_WAIT)) {
-		if (xf86ReturnOptValBool
-		    (intel->Options, OPTION_SWAPBUFFERS_WAIT, FALSE))
-			intel->swapbuffers_wait = TRUE;
-		else
-			intel->swapbuffers_wait = FALSE;
-	}
-
-	if (IS_GEN6(intel))
-	    intel->swapbuffers_wait = FALSE;
-
-	xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "Tiling %sabled\n",
-		   intel->tiling ? "en" : "dis");
-	xf86DrvMsg(scrn->scrnIndex, X_CONFIG, "SwapBuffers wait %sabled\n",
-		   intel->swapbuffers_wait ? "en" : "dis");
-
 	intel->last_3d = LAST_3D_OTHER;
 	intel->overlayOn = FALSE;
 
@@ -894,6 +889,12 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
 		   intel->pEnt->device->videoRam ? X_CONFIG : X_DEFAULT,
 		   "VideoRam: %d KB\n", scrn->videoRam);
 
+#ifdef DRI2
+	if (intel->directRenderingType == DRI_NONE
+	    && I830DRI2ScreenInit(screen))
+		intel->directRenderingType = DRI_DRI2;
+#endif
+
 	if (!intel_init_initial_framebuffer(scrn))
 		return FALSE;
 
diff --git a/src/intel_memory.c b/src/intel_memory.c
index 4f1b009..3a25ba6 100644
--- a/src/intel_memory.c
+++ b/src/intel_memory.c
@@ -209,6 +209,10 @@ retry:
 						width, height, intel->cpp,
 						&tiling_mode, &pitch, 0);
 	if (front_buffer == NULL) {
+		if (tiling_mode != I915_TILING_NONE) {
+			tiling_mode = I915_TILING_NONE;
+			goto retry;
+		}
 		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
 			   "Failed to allocate framebuffer.\n");
 		return NULL;
diff --git a/src/intel_video.c b/src/intel_video.c
index 30a0c37..9c918d5 100644
--- a/src/intel_video.c
+++ b/src/intel_video.c
@@ -1348,13 +1348,19 @@ intel_wait_for_scanline(ScrnInfoPtr scrn, PixmapPtr pixmap,
 			event = MI_WAIT_FOR_PIPEB_SVBLANK;
 	}
 
+	if (scrn->currentMode->Flags & V_INTERLACE) {
+		/* DSL count field lines */
+		y1 /= 2;
+		y2 /= 2;
+	}
+
 	BEGIN_BATCH(5);
 	/* The documentation says that the LOAD_SCAN_LINES command
 	 * always comes in pairs. Don't ask me why. */
 	OUT_BATCH(MI_LOAD_SCAN_LINES_INCL | pipe);
-	OUT_BATCH((box.y1 << 16) | box.y2);
+	OUT_BATCH((y1 << 16) | y2);
 	OUT_BATCH(MI_LOAD_SCAN_LINES_INCL | pipe);
-	OUT_BATCH((box.y1 << 16) | box.y2);
+	OUT_BATCH((y1 << 16) | y2);
 	OUT_BATCH(MI_WAIT_FOR_EVENT | event);
 	ADVANCE_BATCH();
 }
diff --git a/uxa/uxa-accel.c b/uxa/uxa-accel.c
index a2ad651..a5066c8 100644
--- a/uxa/uxa-accel.c
+++ b/uxa/uxa-accel.c
@@ -47,7 +47,9 @@ format_for_depth(int depth)
 	case 16: return PICT_r5g6b5;
 	default:
 	case 24: return PICT_x8r8g8b8;
+#if XORG_VERSION_CURRENT >= 10699900
 	case 30: return PICT_x2r10g10b10;
+#endif
 	case 32: return PICT_a8r8g8b8;
 	}
 }
diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c
index 3194d23..fd8eb93 100644
--- a/uxa/uxa-render.c
+++ b/uxa/uxa-render.c
@@ -108,6 +108,7 @@ op_to_string(CARD8 op)
 	/*
 	 * Operators only available in version 0.2
 	 */
+#if RENDER_MAJOR >= 1 || RENDER_MINOR >= 2
 	C(DisjointClear);
 	C(DisjointSrc);
 	C(DisjointDst);
@@ -133,10 +134,12 @@ op_to_string(CARD8 op)
 	C(ConjointAtop);
 	C(ConjointAtopReverse);
 	C(ConjointXor);
+#endif
 
 	/*
 	 * Operators only available in version 0.11
 	 */
+#if RENDER_MAJOR >= 1 || RENDER_MINOR >= 11
 	C(Multiply);
 	C(Screen);
 	C(Overlay);
@@ -152,6 +155,7 @@ op_to_string(CARD8 op)
 	C(HSLSaturation);
 	C(HSLColor);
 	C(HSLLuminosity);
+#endif
     default: return "garbage";
 #undef C
     }
@@ -237,11 +241,13 @@ uxa_get_pixel_from_rgba(CARD32 * pixel,
 		gshift = rbits;
 		bshift = gshift + gbits;
 		ashift = bshift + bbits;
+#if XORG_VERSION_CURRENT >= 10699900
 	} else if (PICT_FORMAT_TYPE(format) == PICT_TYPE_BGRA) {
 		ashift = 0;
 		rshift = abits;
 		gshift = rshift + rbits;
 		bshift = gshift + gbits;
+#endif
 	} else {
 		return FALSE;
 	}
@@ -283,6 +289,7 @@ uxa_get_rgba_from_pixel(CARD32 pixel,
 		gshift = rbits;
 		bshift = gshift + gbits;
 		ashift = bshift + bbits;
+#if XORG_VERSION_CURRENT >= 10699900
         } else if (PICT_FORMAT_TYPE(format) == PICT_TYPE_BGRA) {
 		ashift = 0;
 		rshift = abits;
@@ -290,6 +297,7 @@ uxa_get_rgba_from_pixel(CARD32 pixel,
 			rshift = PICT_FORMAT_BPP(format) - (rbits+gbits+bbits);
 		gshift = rshift + rbits;
 		bshift = gshift + gbits;
+#endif
 	} else {
 		return FALSE;
 	}

Attachment: signature.asc
Description: Digital signature


Reply to: