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

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: