xserver-xorg-video-intel: Changes to 'debian-experimental'
ChangeLog | 71 ++++++++++
config.h.in | 6
configure | 260 +++++++++++++++++++++++++++++++++++--
configure.ac | 5
debian/changelog | 7
debian/control | 2
debian/patches/01_gen_pci_ids.diff | 8 -
src/i830.h | 11 +
src/i830_driver.c | 12 +
src/i830_exa.c | 7
src/i830_lvds.c | 5
src/i830_render.c | 5
src/i915_render.c | 5
13 files changed, 385 insertions(+), 19 deletions(-)
New commits:
commit f529feea48ff74729a32ed9ef7d820986b08ca62
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Apr 23 17:54:00 2008 +0200
Prepare changelog for upload
diff --git a/debian/changelog b/debian/changelog
index 08e6b56..b9c327e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xserver-xorg-video-intel (2:2.3.0-1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.3.0-1) experimental; urgency=low
* Build-depend on dpkg-dev >= 1.14.17 for dpkg-shlibdeps --warnings.
* New upstream release.
- -- Julien Cristau <jcristau@debian.org> Tue, 22 Apr 2008 19:42:07 +0200
+ -- Julien Cristau <jcristau@debian.org> Wed, 23 Apr 2008 17:53:26 +0200
xserver-xorg-video-intel (2:2.2.99.903-1) experimental; urgency=low
commit 57489c4df648d5f24545662eef0ff610244c77e9
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Apr 23 14:18:40 2008 +0200
autoreconf
diff --git a/config.h.in b/config.h.in
index 3b764d9..09bed03 100644
--- a/config.h.in
+++ b/config.h.in
@@ -20,6 +20,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define to 1 if you have the `mprotect' function. */
+#undef HAVE_MPROTECT
+
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@@ -32,6 +35,9 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
diff --git a/configure b/configure
index 57333a8..9597427 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xf86-video-intel 2.2.99.903.
+# Generated by GNU Autoconf 2.61 for xf86-video-intel 2.3.0.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xf86-video-intel'
PACKAGE_TARNAME='xf86-video-intel'
-PACKAGE_VERSION='2.2.99.903'
-PACKAGE_STRING='xf86-video-intel 2.2.99.903'
+PACKAGE_VERSION='2.3.0'
+PACKAGE_STRING='xf86-video-intel 2.3.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am"
@@ -1455,7 +1455,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-video-intel 2.2.99.903 to adapt to many kinds of systems.
+\`configure' configures xf86-video-intel 2.3.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1525,7 +1525,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-intel 2.2.99.903:";;
+ short | recursive ) echo "Configuration of xf86-video-intel 2.3.0:";;
esac
cat <<\_ACEOF
@@ -1651,7 +1651,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-intel configure 2.2.99.903
+xf86-video-intel configure 2.3.0
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1665,7 +1665,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-intel $as_me 2.2.99.903, which was
+It was created by xf86-video-intel $as_me 2.3.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2360,7 +2360,7 @@ fi
# Define the identity of the package.
PACKAGE='xf86-video-intel'
- VERSION='2.2.99.903'
+ VERSION='2.3.0'
cat >>confdefs.h <<_ACEOF
@@ -20827,6 +20827,246 @@ fi
+for ac_header in sys/mman.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+## ---------------------------------------------------------------------- ##
+## Report this to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg ##
+## ---------------------------------------------------------------------- ##
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_func in mprotect
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
@@ -23208,7 +23448,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-intel $as_me 2.2.99.903, which was
+This file was extended by xf86-video-intel $as_me 2.3.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -23261,7 +23501,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xf86-video-intel config.status 2.2.99.903
+xf86-video-intel config.status 2.3.0
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
commit 4442a03e2f0da2e27fae84d7af8a909d7b37bf1f
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Apr 23 14:18:36 2008 +0200
Refresh patch
diff --git a/debian/patches/01_gen_pci_ids.diff b/debian/patches/01_gen_pci_ids.diff
index e872b52..ae8f0c3 100644
--- a/debian/patches/01_gen_pci_ids.diff
+++ b/debian/patches/01_gen_pci_ids.diff
@@ -1,8 +1,8 @@
-Index: xserver-xorg-video-i810/src/Makefile.am
+Index: xserver-xorg-video-intel/src/Makefile.am
===================================================================
---- xserver-xorg-video-i810.orig/src/Makefile.am 2007-08-18 13:04:47.000000000 -0400
-+++ xserver-xorg-video-i810/src/Makefile.am 2007-08-18 13:10:06.000000000 -0400
-@@ -211,3 +211,9 @@
+--- xserver-xorg-video-intel.orig/src/Makefile.am
++++ xserver-xorg-video-intel/src/Makefile.am
+@@ -210,3 +210,9 @@
uninstall-local:
(cd $(DESTDIR)$(intel_drv_ladir) && rm -f i810_drv.so)
commit 7d7b2d10a57d370a118c98f52434c3e44ee7b9e3
Author: Julien Cristau <jcristau@debian.org>
Date: Wed Apr 23 14:17:34 2008 +0200
Update changelogs
diff --git a/ChangeLog b/ChangeLog
index 2af8588..d9c4da2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,74 @@
+commit 259ad818f2b7ac63fb84516e8a49e264840af107
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Wed Apr 23 13:42:24 2008 +0800
+
+ Bump version 2.3.0
+
+commit 5214139e30bb51bea8c18f270e060339678c8715
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Wed Apr 23 13:39:49 2008 +0800
+
+ Fix warning with i830_exa_pixmap_is_offscreen() for exa minor >=2
+
+commit f08aa4c291e4f5491372434e3ee08dfb15d5aa94
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 17 10:04:55 2008 -0700
+
+ Add a kludge-around to fix cd/wt bits in fb ptes on linux.
+
+ Mmap from /sys/devices/pci* on linux forces the cache-disable and
+ write-through bits, which turns our write-combining map into an
+ uncached-map, seriously impacting performance. It turns out that a bug in
+ mprotect allows us to fix this by disabling access to those pages and then
+ immediately re-enabling them.
+ (cherry picked from commit c3fb62df4e60b63295f94c99b3c5de70dbf94e1c)
+
+commit 8187a5a16f8bd8f0ba5e7f5357f355928b3b8f07
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Sat Apr 19 08:54:38 2008 +0800
+
+ Check pitch for EXA operation
+
+ 2D pitch limit applys to all chips. Pre-965 chip has
+ 8KB pitch limit for 3D. 965 supports max pitch by current
+ exa (128KB).
+
+commit bfcc83ad1a3eb7b2acc44223c86fa007cd34a27c
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Fri Apr 18 16:48:38 2008 +0800
+
+ Revert "Set EXA pitch limit for pre-965 chipset"
+
+ This reverts commit 602613e397bdf0cf701a6a7748f9343875864466.
+
+ Pre-965 chipset actually have different pitch limit for 2d and 3d
+ engine. For 2D blit, it's 32KB max. For 3D, it's 8KB max. Don't
+ limit it to minimal which fallback 2D operations (noteable copy
+ slow).
+
+commit 602613e397bdf0cf701a6a7748f9343875864466
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Thu Apr 17 16:55:47 2008 +0800
+
+ Set EXA pitch limit for pre-965 chipset
+
+commit 5a1f7351c5bfa9f12cf718036ccc43f66787ce11
+Author: Hong Liu <hong.liu@intel.com>
+Date: Thu Apr 17 10:57:34 2008 +0800
+
+ fix possible segfault in I830FreeScreen
+
+ pI830 may point to NULL if I830PreInit fails
+ (cherry picked from commit 0ae283582d21776d3317d5fc1c25751d50d562c7)
+
+commit 33ffd781bbca3d0dee8c1b47e7b90be5824b9a4f
+Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
+Date: Mon Apr 14 16:31:03 2008 +0800
+
+ Change default panel fitting mode to origin
+
+ i8xx currently only works in FULL mode.
+
commit 768fa9437c6f96405aa827701135712670e09ab3
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date: Mon Apr 14 10:02:54 2008 +0800
diff --git a/debian/changelog b/debian/changelog
index 503f799..08e6b56 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
xserver-xorg-video-intel (2:2.3.0-1) UNRELEASED; urgency=low
* Build-depend on dpkg-dev >= 1.14.17 for dpkg-shlibdeps --warnings.
+ * New upstream release.
-- Julien Cristau <jcristau@debian.org> Tue, 22 Apr 2008 19:42:07 +0200
commit 259ad818f2b7ac63fb84516e8a49e264840af107
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date: Wed Apr 23 13:42:24 2008 +0800
Bump version 2.3.0
diff --git a/configure.ac b/configure.ac
index 001e5e1..da479dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-intel],
- 2.2.99.903,
+ 2.3.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-intel)
commit 5214139e30bb51bea8c18f270e060339678c8715
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date: Wed Apr 23 13:39:49 2008 +0800
Fix warning with i830_exa_pixmap_is_offscreen() for exa minor >=2
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 2c807c5..0ebf3df 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -121,6 +121,7 @@ i830_pixmap_tiled(PixmapPtr pPixmap)
return FALSE;
}
+#if EXA_VERSION_MINOR >= 2
static Bool
i830_exa_pixmap_is_offscreen(PixmapPtr pPixmap)
{
@@ -136,6 +137,7 @@ i830_exa_pixmap_is_offscreen(PixmapPtr pPixmap)
return FALSE;
}
}
+#endif
/**
* I830EXASync - wait for a command to finish
commit 0ac2b49267467ba4ec3ae2445fe9d8ccd2ee5509
Author: Julien Cristau <jcristau@debian.org>
Date: Tue Apr 22 19:42:53 2008 +0200
Build-depend on dpkg-dev >= 1.14.17 for dpkg-shlibdeps --warnings.
diff --git a/debian/changelog b/debian/changelog
index bd5d07b..9d35586 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-intel (2:2.2.1-3) UNRELEASED; urgency=low
+
+ * Build-depend on dpkg-dev >= 1.14.17 for dpkg-shlibdeps --warnings.
+
+ -- Julien Cristau <jcristau@debian.org> Tue, 22 Apr 2008 19:42:07 +0200
+
xserver-xorg-video-intel (2:2.2.1-2) unstable; urgency=low
* Add the ${shlibs:Depends} substvar to the -dbg package's dependencies, to
diff --git a/debian/control b/debian/control
index 74c4f11..28d764f 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ 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>, Julien Cristau <jcristau@debian.org>, Brice Goglin <bgoglin@debian.org>
-Build-Depends: debhelper (>= 5), quilt, pkg-config, xserver-xorg-dev (>= 2:1.4), x11proto-gl-dev, x11proto-video-dev, libgl1-mesa-dev | libgl-dev, libxvmc-dev (>= 1:1.0.1-1), x11proto-core-dev, x11proto-fonts-dev, x11proto-randr-dev (>= 1.2), x11proto-render-dev, x11proto-xinerama-dev, libdrm-dev (>= 2.2) [!hurd-i386], x11proto-xf86dri-dev, libpciaccess-dev (>= 0.8.0+git20071002)
+Build-Depends: debhelper (>= 5), quilt, pkg-config, xserver-xorg-dev (>= 2:1.4), x11proto-gl-dev, x11proto-video-dev, libgl1-mesa-dev | libgl-dev, libxvmc-dev (>= 1:1.0.1-1), x11proto-core-dev, x11proto-fonts-dev, x11proto-randr-dev (>= 1.2), x11proto-render-dev, x11proto-xinerama-dev, libdrm-dev (>= 2.2) [!hurd-i386], x11proto-xf86dri-dev, libpciaccess-dev (>= 0.8.0+git20071002), dpkg-dev (>= 1.14.17)
Standards-Version: 3.7.2
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
commit f08aa4c291e4f5491372434e3ee08dfb15d5aa94
Author: Keith Packard <keithp@keithp.com>
Date: Thu Apr 17 10:04:55 2008 -0700
Add a kludge-around to fix cd/wt bits in fb ptes on linux.
Mmap from /sys/devices/pci* on linux forces the cache-disable and
write-through bits, which turns our write-combining map into an
uncached-map, seriously impacting performance. It turns out that a bug in
mprotect allows us to fix this by disabling access to those pages and then
immediately re-enabling them.
(cherry picked from commit c3fb62df4e60b63295f94c99b3c5de70dbf94e1c)
diff --git a/configure.ac b/configure.ac
index 170d59b..001e5e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,6 +43,9 @@ AM_PROG_CC_C_O
AC_CHECK_PROG(gen4asm, [intel-gen4asm], yes, no)
AM_CONDITIONAL(HAVE_GEN4ASM, test x$gen4asm = xyes)
+AC_CHECK_HEADERS(sys/mman.h)
+AC_CHECK_FUNCS(mprotect)
+
AH_TOP([#include "xorg-server.h"])
AC_ARG_WITH(xorg-module-dir,
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 41c0578..f404677 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -197,6 +197,9 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "i830_debug.h"
#include "i830_bios.h"
#include "i830_video.h"
+#if HAVE_SYS_MMAN_H && HAVE_MPROTECT
+#include <sys/mman.h>
+#endif
#ifdef INTEL_XVMC
#define _INTEL_XVMC_SERVER_
@@ -685,6 +688,13 @@ I830MapMem(ScrnInfoPtr pScrn)
err = pci_device_map_range (device, pI830->LinearAddr, pI830->FbMapSize,
PCI_DEV_MAP_FLAG_WRITABLE | PCI_DEV_MAP_FLAG_WRITE_COMBINE,
(void **) &pI830->FbBase);
+ if (err)
+ return FALSE;
+ /* KLUDGE ALERT -- rewrite the PTEs to turn off the CD and WT bits */
+#if HAVE_MPROTECT
+ mprotect (pI830->FbBase, pI830->FbMapSize, PROT_NONE);
+ mprotect (pI830->FbBase, pI830->FbMapSize, PROT_READ|PROT_WRITE);
+#endif
#else
pI830->FbBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
pI830->PciTag,
commit 8187a5a16f8bd8f0ba5e7f5357f355928b3b8f07
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date: Sat Apr 19 08:54:38 2008 +0800
Check pitch for EXA operation
2D pitch limit applys to all chips. Pre-965 chip has
8KB pitch limit for 3D. 965 supports max pitch by current
exa (128KB).
diff --git a/src/i830.h b/src/i830.h
index 834e4dc..e2c39cc 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -857,6 +857,17 @@ static inline int i830_fb_compression_supported(I830Ptr pI830)
Bool i830_pixmap_tiled(PixmapPtr p);
+#define i830_exa_check_pitch_2d(p) do {\
+ uint32_t pitch = intel_get_pixmap_pitch(p);\
+ if (pitch > KB(32)) return FALSE;\
+} while(0)
+
+/* For pre-965 chip only, as they have 8KB limit for 3D */
+#define i830_exa_check_pitch_3d(p) do {\
+ uint32_t pitch = intel_get_pixmap_pitch(p);\
+ if (pitch > KB(8)) return FALSE;\
+} while(0)
+
/* Batchbuffer compatibility handling */
#define BEGIN_BATCH(n) BEGIN_LP_RING(n)
#define ENSURE_BATCH(n)
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 9b5bb93..2c807c5 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -170,6 +170,8 @@ I830EXAPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg)
if (pPixmap->drawable.bitsPerPixel == 24)
I830FALLBACK("solid 24bpp unsupported!\n");
+ i830_exa_check_pitch_2d(pPixmap);
+
offset = exaGetPixmapOffset(pPixmap);
pitch = exaGetPixmapPitch(pPixmap);
@@ -255,6 +257,9 @@ I830EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir,
if (!EXA_PM_IS_SOLID(&pSrcPixmap->drawable, planemask))
I830FALLBACK("planemask is not solid");
+ i830_exa_check_pitch_2d(pSrcPixmap);
+ i830_exa_check_pitch_2d(pDstPixmap);
+
pI830->pSrcPixmap = pSrcPixmap;
pI830->BR[13] = I830CopyROP[alu] << 16;
diff --git a/src/i830_render.c b/src/i830_render.c
index 195e9a8..3a959e8 100644
--- a/src/i830_render.c
+++ b/src/i830_render.c
@@ -398,6 +398,11 @@ i830_prepare_composite(int op, PicturePtr pSrcPicture,
Bool is_affine_src, is_affine_mask;
Bool is_nearest = FALSE;
+ i830_exa_check_pitch_3d(pSrc);
+ if (pMask)
+ i830_exa_check_pitch_3d(pMask);
+ i830_exa_check_pitch_3d(pDst);
+
IntelEmitInvarientState(pScrn);
*pI830->last_3d = LAST_3D_RENDER;
diff --git a/src/i915_render.c b/src/i915_render.c
index 2b9ed04..4a02cf5 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -323,6 +323,11 @@ i915_prepare_composite(int op, PicturePtr pSrcPicture,
Bool is_affine_src, is_affine_mask;
Bool is_nearest = FALSE;
+ i830_exa_check_pitch_3d(pSrc);
+ if (pMask)
+ i830_exa_check_pitch_3d(pMask);
+ i830_exa_check_pitch_3d(pDst);
+
IntelEmitInvarientState(pScrn);
*pI830->last_3d = LAST_3D_RENDER;
commit bfcc83ad1a3eb7b2acc44223c86fa007cd34a27c
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date: Fri Apr 18 16:48:38 2008 +0800
Revert "Set EXA pitch limit for pre-965 chipset"
This reverts commit 602613e397bdf0cf701a6a7748f9343875864466.
Pre-965 chipset actually have different pitch limit for 2d and 3d
engine. For 2D blit, it's 32KB max. For 3D, it's 8KB max. Don't
limit it to minimal which fallback 2D operations (noteable copy
slow).
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 9e43bf7..9b5bb93 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -510,17 +510,11 @@ I830EXAInit(ScreenPtr pScreen)
pI830->EXADriverPtr->pixmapPitchAlign = 16;
pI830->EXADriverPtr->maxX = 8192;
pI830->EXADriverPtr->maxY = 8192;
- /* maxPitch setting not necessary on 965, as hw support
- * exa max pitch 128KB. */
} else {
pI830->EXADriverPtr->pixmapOffsetAlign = 4;
pI830->EXADriverPtr->pixmapPitchAlign = 16;
pI830->EXADriverPtr->maxX = 2048;
pI830->EXADriverPtr->maxY = 2048;
-#if EXA_VERSION_MINOR >= 3
- pI830->EXADriverPtr->maxPitchPixels = pI830->EXADriverPtr->maxX;
- pI830->EXADriverPtr->maxPitchBytes = KB(8);
-#endif
}
/* Sync */
commit 602613e397bdf0cf701a6a7748f9343875864466
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date: Thu Apr 17 16:55:47 2008 +0800
Set EXA pitch limit for pre-965 chipset
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 9b5bb93..9e43bf7 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -510,11 +510,17 @@ I830EXAInit(ScreenPtr pScreen)
pI830->EXADriverPtr->pixmapPitchAlign = 16;
pI830->EXADriverPtr->maxX = 8192;
pI830->EXADriverPtr->maxY = 8192;
+ /* maxPitch setting not necessary on 965, as hw support
+ * exa max pitch 128KB. */
} else {
pI830->EXADriverPtr->pixmapOffsetAlign = 4;
pI830->EXADriverPtr->pixmapPitchAlign = 16;
pI830->EXADriverPtr->maxX = 2048;
pI830->EXADriverPtr->maxY = 2048;
+#if EXA_VERSION_MINOR >= 3
+ pI830->EXADriverPtr->maxPitchPixels = pI830->EXADriverPtr->maxX;
+ pI830->EXADriverPtr->maxPitchBytes = KB(8);
+#endif
}
/* Sync */
commit 5a1f7351c5bfa9f12cf718036ccc43f66787ce11
Author: Hong Liu <hong.liu@intel.com>
Date: Thu Apr 17 10:57:34 2008 +0800
fix possible segfault in I830FreeScreen
pI830 may point to NULL if I830PreInit fails
(cherry picked from commit 0ae283582d21776d3317d5fc1c25751d50d562c7)
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 155e7a9..41c0578 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3108,7 +3108,7 @@ I830FreeScreen(int scrnIndex, int flags)
#ifdef INTEL_XVMC
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
I830Ptr pI830 = I830PTR(pScrn);
- if (pI830->XvMCEnabled)
+ if (pI830 && pI830->XvMCEnabled)
intel_xvmc_finish(xf86Screens[scrnIndex]);
#endif
I830FreeRec(xf86Screens[scrnIndex]);
commit 33ffd781bbca3d0dee8c1b47e7b90be5824b9a4f
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date: Mon Apr 14 16:31:03 2008 +0800
Change default panel fitting mode to origin
i8xx currently only works in FULL mode.
diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index a5004b4..1562c21 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -1366,9 +1366,10 @@ i830_lvds_init(ScrnInfoPtr pScrn)
/*
* Default to filling the whole screen if the mode is less than the
- * native size, without breaking aspect ratio.
+ * native size. (Change default to origin FULL mode, i8xx can only work
+ * in that mode for now.)
*/
- dev_priv->fitting_mode = FULL_ASPECT;
+ dev_priv->fitting_mode = FULL;
return;
Reply to: