Hello community,
here is the log from the commit of package xf86-video-geode for openSUSE:Factory checked in at 2012-12-28 22:50:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-geode (Old)
and /work/SRC/openSUSE:Factory/.xf86-video-geode.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-geode", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-geode/xf86-video-geode.changes 2012-09-26 10:11:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-video-geode.new/xf86-video-geode.changes 2012-12-28 22:50:45.000000000 +0100
@@ -1,0 +2,13 @@
+Sun Dec 23 00:05:59 UTC 2012 - zaitor@opensuse.org
+
+- Update to version 2.11.14:
+ + Better compatibility with xserver-1.13, cairo-1.12 and gtk3.
+ + Fix building on Xservers without XAA.
+ + Fix building with new xserver-1.13 API.
+ + Implement solid source pictures acceleration.
+ + Handle negative srcX and srcY parameters better in EXA Composite
+ operations, used via the RENDER extension. fdo#51360
+ + Fix builds for exotic and/or non-target platforms.
+ + Clarify the copyright of older AMD commits.
+
+-------------------------------------------------------------------
Old:
----
xf86-video-geode-2.11.13_4a20e8a.tar.bz2
New:
----
xf86-video-geode-2.11.14.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-video-geode.spec ++++++
--- /var/tmp/diff_new_pack.MKcQz4/_old 2012-12-28 22:50:46.000000000 +0100
+++ /var/tmp/diff_new_pack.MKcQz4/_new 2012-12-28 22:50:46.000000000 +0100
@@ -17,13 +17,13 @@
Name: xf86-video-geode
-Version: 2.11.13
+Version: 2.11.14
Release: 0
Summary: AMD Geode GX and LX video driver for the Xorg X server
License: MIT
Group: System/X11/Servers/XF86_4
Url: http://xorg.freedesktop.org/
-Source0: %{name}-%{version}_4a20e8a.tar.bz2
+Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2
BuildRequires: pkg-config
BuildRequires: pkgconfig(fontsproto)
BuildRequires: pkgconfig(pciaccess) >= 0.8.0
++++++ xf86-video-geode-2.11.13_4a20e8a.tar.bz2 -> xf86-video-geode-2.11.14.tar.bz2 ++++++
++++ 20222 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/ChangeLog new/xf86-video-geode-2.11.14/ChangeLog
--- old/xf86-video-geode-2.11.13/ChangeLog 2012-09-17 14:26:34.000000000 +0200
+++ new/xf86-video-geode-2.11.14/ChangeLog 2012-11-25 10:43:28.000000000 +0100
@@ -1,3 +1,132 @@
+commit a96a4e28a079499b18b441f0b6c05c50dd86ead6
+Author: Martin-Éric Racine
+Date: Sun Nov 25 11:12:58 2012 +0200
+
+ Geode 2.11.14
+
+ This release restores compatibility with xserver-1.13, cairo-1.12 and gtk-3:
+
+ * Fix building with new xserver-1.13 (Maarten Lankhorst)
+ + Implement xserver-1.13 API changes.
+ + Make XAA support optional (dropped as of xserver-1.13).
+ * Implement solid source pictures acceleration for cairo-1.12 (Mart Raudsepp)
+ * Fix EXA Composite implementation in the LX component (Mart Raudsepp)
+ Restores icon and text rendering for GNOME 3 fallback mode.
+
+ This release also improves compatibility with non-Linux/non-32-bit hardware:
+ * Fix compiling on 64-bit hosts (Dave Airlie)
+ * Fix compiling on non-Linux platforms (Martin-Éric Racine)
+
+ VALIDATION PLATFORMS
+ * Debian (X server 1.7.7) on Artec DBE61.
+ * Debian (X server 1.12.14) on FIC ION603A.
+ * Fedora (X server 1.13) on OLPC XO-1.
+
+commit cec433840fde8be3ee6b8ce916b416f44d15a794
+Author: Martin-Éric Racine
+Date: Sat Nov 24 12:02:32 2012 +0200
+
+ pre-release whitespace cleanup using ../modular/x-indent-all.sh
+
+commit 4e6f1e68344d52cd80f85843a2a9830add042a34
+Author: Mart Raudsepp
+Date: Tue Nov 20 09:14:31 2012 +0200
+
+ NEWS: Release notes for 2.11.14
+
+commit a02c099af60c96b440edcc2b0afbd0be0b349ee8
+Author: Mart Raudsepp
+Date: Tue Nov 20 08:30:13 2012 +0200
+
+ NEWS: Fix placement order of 2.11.10 NEWS compared to others
+
+commit 45ca66ee73bfe04a7ac17e2086f2e5d20bfa93e9
+Author: Mart Raudsepp
+Date: Sat Nov 17 23:51:39 2012 +0200
+
+ lx_exa: Improvements to negative srcX/Y PictOpSrc/Over operations
+
+ Adds handling of negative srcX or srcY coordinates, which is used by gtk3
+ GtkTrayIcon implementation via cairo for centering icons on top of the
+ destination area.
+
+ For now just handle the drawing within source pixmap bounds in these
+ cases, as full handling of the out of bound zero-vector for PictOpSrc
+ seems to require bigger refactoring, which is not suitable for the
+ impending stable release.
+ The approach implemented here should result in correct rendering for
+ PictOpOver (as out of bounds with non-repeat mode ends up meaning
+ transparency). For PictOpSrc no black borders are rendered where
+ appropriate, but before this approach, no source pixmap would even be
+ rendered at all, so it should be a net improvement for the upcoming
+ release, while fixing the gtk3 icons in GNOME3 fallback.
+
+ The completely out of bounds special case check didn't work correctly for
+ negative srcX or srcY because exaScratch.srcWidth/Height are unsigned
+ types, so the negative srcX or srcY got casted to unsigned, which resulted
+ in a big number, so srcX >= 0 was always true (but GCC managed to not warn
+ of the implicit signedness cast).
+
+ Fixes https://bugs.freedesktop.org/show_bug.cgi?id=51360
+
+commit a46486b05f4674fc17f36947c97bc281c1d00d26
+Author: Mart Raudsepp
+Date: Tue Oct 23 11:40:11 2012 +0300
+
+ lx_exa: Implement solid pictures support as source with a mask
+
+ cairo-1.12 uses solid pictures instead of 1x1R pixmaps in glyph rendering
+ paths, so accelerate it.
+ In addition to acceleration, it avoids a bug in xserver-1.13.0 and earlier
+ which causes visible misrendering for fallback path, making cairo-1.12 a
+ viable and desired choice on GeodeLX systems.
+ Quick benchmarking suggests a 4-12% win in cairo-traces.
+
+commit 85f25321661b24324d9e8fb6415abc0fda12436d
+Author: Mart Raudsepp
+Date: Tue Oct 23 11:35:18 2012 +0300
+
+ lx_exa: Remove unused srcPixmap member from exaScratch
+
+ Became redundant with commit 32a927b8e6
+
+commit 5cfd7591b2f6ccb57d698738faa3fa800088f972
+Author: Martin-Éric Racine
+Date: Tue Oct 2 18:05:55 2012 +0300
+
+ Clarified the copyright and license of src/geode_msr.c src/geode_blend.h
+
+ Debian's 'licensecheck' tool showed these two files to have unspecified
+ copyright and license. Git log clarifies that these had been created by
+ Jordan Crouse when he was still at AMD, so their stock copyright notice
+ was copied as-is from other files in src/
+
+commit 65d9954ef61b7e22252d38cc81db710a8ec0b22b
+Author: Mart Raudsepp
+Date: Tue Sep 18 08:43:51 2012 +0300
+
+ lx_exa: Downgrade src/dst format warnings to fallbacks to not spam the log
+
+ We don't support 10bit wide color channels, BGRA and other types, which mainly
+ cause these fallbacks. The ErrorF's were unwarranted, these are just fallbacks
+ as any other, so don't output these warnings without GEODE_TRACE_FALL.
+
+commit 5f7797cadeaf8a28612b9d0c394f8507eb687c34
+Author: Mart Raudsepp
+Date: Tue Sep 18 08:41:53 2012 +0300
+
+ lx_exa: Fix crash with solid fills on PictOpAdd operations
+
+ lx_check_composite has many special checks for PictOpAdd to return
+ successfully early, but these were done even earlier than the check
+ for solid fills. This resulted in lx_prepare_composite assuming
+ the source pixmap exists, which is not the case with solid fills.
+ Move the solid fill fallback checks before the others, so we are
+ guaranteed to always have a source pixmap in PrepareComposite and
+ Composite and don't crash trying to access a NULL pointer.
+
+ Also move up the mask check to do less checks in the PictOpAdd logic.
+
commit 4a20e8ac285cfe8a033f771ac8df25f873db9908
Author: Martin-Éric Racine
Date: Wed Aug 29 12:53:00 2012 +0300
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/INSTALL new/xf86-video-geode-2.11.14/INSTALL
--- old/xf86-video-geode-2.11.13/INSTALL 2012-09-17 14:26:34.000000000 +0200
+++ new/xf86-video-geode-2.11.14/INSTALL 2012-11-25 10:43:28.000000000 +0100
@@ -0,0 +1,291 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008 Free Software Foundation, Inc.
+
+ This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 6. Often, you can also type `make uninstall' to remove the installed
+ files again.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *Note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/NEWS new/xf86-video-geode-2.11.14/NEWS
--- old/xf86-video-geode-2.11.13/NEWS 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/NEWS 2012-11-25 10:10:47.000000000 +0100
@@ -1,3 +1,51 @@
+Geode 2.11.14 (2012-11-25)
+==========================
+Better compatibility with xserver-1.13, cairo-1.12 and gtk3:
+
+ * Fix building on Xservers without XAA (Maarten Lankhorst)
+ xserver-1.13 dropped XAA acceleration method, as it does not accel
+ anything important used on modern desktops.
+ The geode driver now supports configuring whether to include XAA
+ support - by default it is automatically disabled with newest
+ xservers that do not support it, but can be explicitly disabled for
+ older xservers as well if desired (particularly for LX deployments).
+ XAA support remains in place for the time being for older xservers,
+ as the EXA support for GX2 GPUs is of unknown quality and speed.
+
+ * Fix building with new xserver-1.13 API (Maarten Lankhorst)
+ xserver-1.13 changed API, including moving various global symbols
+ behind function calls, to better support multiple switchable graphics
+ cards and hotplugged (USB) graphics cards. Work done to support both
+ pre-1.13 and 1.13+ APIs in other drivers is reused to bring the same
+ support to the Geode driver.
+
+ * Implement solid source pictures acceleration (Mart Raudsepp)
+ cairo-1.12 uses these extensively for text rendering, instead of 1x1
+ repeating images that cairo-1.10 used and we already accelerate.
+ Without acceleration, in addition to being slow, we'd hit a fallback
+ handling bug in EXA with xserver older than 1.13.1, which results in
+ very visible text corruption in many instances.
+
+ * Handle negative srcX and srcY parameters better in EXA Composite
+ operations, used via the RENDER extension (Mart Raudsepp)
+ Handling of source picture coordinates outside actual source pixmap
+ area is still subpar and ignoring spec in some corner cases, but
+ a more specific case is improved to provide correct results in more
+ situations. In particular this fixes GtkTrayIcon drawing via cairo as
+ used by gtk3, specifically as seen in GNOME3 fallback desktop.
+ Previously no icon was drawn at all if the icon needed centering to the
+ drawing area, which in the end is achieved via a negative srcX/srcY.
+ https://bugs.freedesktop.org/show_bug.cgi?id=51360
+
+ * Fix builds for exotic and/or non-target platforms (Dave Airlie)
+
+ * Clarify the copyright of older AMD commits (Martin-Éric Racine)
+
+VALIDATION PLATFORMS
+ * Debian (X server 1.7.7) on Artec DBE61 and Hercules EC-800.
+ * Debian (X server 1.12.14) on FIC ION603A.
+ * Fedora (X server 1.13) on OLPC XO-1.
+
Geode 2.11.13 (2011-12-26)
==========================
This release mainly features a complete overhaul of the building scripts plus
@@ -17,8 +65,8 @@
Fixes to keep this driver compilable on recent X servers are also included.
VALIDATION PLATFORMS
-* Debian/stable (X server 1.7.7) on Artec DBE61 and Hercules EC-800.
-* Ubuntu/Precise (X server 1.10.4) on FIC ION603A.
+* Debian (X server 1.7.7) on Artec DBE61 and Hercules EC-800.
+* Ubuntu (X server 1.10.4) on FIC ION603A.
Geode 2.11.12 (2011-02-13)
==========================
@@ -26,18 +74,18 @@
V4L1 support was dropped as of Linux kernel 2.6.38, and it fixes
packed overlay offscreen allocations.
-Geode 2.11.10 (2010-11-09)
-==========================
-This release migrates deprecated xalloc/xrealloc/xfree/xcalloc calls
-to malloc/realloc/free/calloc, fixes several DCON-specific issues,
-improves mode validation and adds support for one WXGA resolution.
-
Geode 2.11.11 (2010-12-27)
==========================
This release restores code compatibility down to X server 1.4, it fixes
compilation under 1.9.99 and newer, and it improves handling of gamma
correction in video vs graphics
+Geode 2.11.10 (2010-11-09)
+==========================
+This release migrates deprecated xalloc/xrealloc/xfree/xcalloc calls
+to malloc/realloc/free/calloc, fixes several DCON-specific issues,
+improves mode validation and adds support for one WXGA resolution.
+
Geode 2.11.9 (2010-08-23)
=========================
We are pleased to announce this maintenance release of xf86-video-geode.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/configure.ac new/xf86-video-geode-2.11.14/configure.ac
--- old/xf86-video-geode-2.11.13/configure.ac 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/configure.ac 2012-11-24 16:12:06.000000000 +0100
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ(2.59)
AC_INIT([xf86-video-geode],
- [2.11.13],
+ [2.11.14],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode],
[xf86-video-geode],
[http://www.x.org/wiki/GeodeDriver])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/missing new/xf86-video-geode-2.11.14/missing
--- old/xf86-video-geode-2.11.13/missing 2008-04-01 16:57:18.000000000 +0200
+++ new/xf86-video-geode-2.11.14/missing 2012-11-24 11:00:16.000000000 +0100
@@ -1,10 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2006-05-10.23
+scriptversion=2012-01-06.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
@@ -18,9 +18,7 @@
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see http://www.gnu.org/licenses/.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -86,9 +84,11 @@
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
Send bug reports to ."
exit $?
;;
@@ -106,23 +106,21 @@
esac
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
-# the program).
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
case $1 in
- lex|yacc)
+ lex*|yacc*)
# Not GNU programs, they don't have --version.
;;
- tar)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
@@ -138,7 +136,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case $1 in
+case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -148,7 +146,7 @@
touch aclocal.m4
;;
- autoconf)
+ autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
@@ -157,7 +155,7 @@
touch configure
;;
- autoheader)
+ autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
@@ -187,7 +185,7 @@
while read f; do touch "$f"; done
;;
- autom4te)
+ autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
@@ -210,7 +208,7 @@
fi
;;
- bison|yacc)
+ bison*|yacc*)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
@@ -218,7 +216,7 @@
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if test $# -ne 1; then
- eval LASTARG="\${$#}"
+ eval LASTARG=\${$#}
case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -240,7 +238,7 @@
fi
;;
- lex|flex)
+ lex*|flex*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
@@ -248,7 +246,7 @@
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if test $# -ne 1; then
- eval LASTARG="\${$#}"
+ eval LASTARG=\${$#}
case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -263,7 +261,7 @@
fi
;;
- help2man)
+ help2man*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
@@ -277,11 +275,11 @@
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
- exit 1
+ exit $?
fi
;;
- makeinfo)
+ makeinfo*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
@@ -310,41 +308,6 @@
touch $file
;;
- tar)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
@@ -363,5 +326,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/cim/cim_df.c new/xf86-video-geode-2.11.14/src/cim/cim_df.c
--- old/xf86-video-geode-2.11.13/src/cim/cim_df.c 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/cim/cim_df.c 2012-11-24 11:01:14.000000000 +0100
@@ -153,8 +153,8 @@
/* PARAMETER - VIDEO PITCH */
pitch =
- (video_source_odd->
- y_pitch >> 3) | ((video_source_odd->uv_pitch >> 3) << 16);
+ (video_source_odd->y_pitch >> 3) | ((video_source_odd->uv_pitch >> 3) <<
+ 16);
/* PARAMETER - VIDEO FORMAT */
@@ -1031,8 +1031,8 @@
key = READ_VID32(DF_CURSOR_COLOR_KEY) & DF_CURSOR_COLOR_KEY_ENABLE;
key =
- key | (cursor_color_key->
- key & 0xFFFFFF) | (cursor_color_key->select_color2 << 24);
+ key | (cursor_color_key->key & 0xFFFFFF) | (cursor_color_key->
+ select_color2 << 24);
WRITE_VID32(DF_CURSOR_COLOR_KEY, key);
WRITE_VID32(DF_CURSOR_COLOR_MASK, (cursor_color_key->mask & 0xFFFFFF));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/cim/cim_vg.c new/xf86-video-geode-2.11.14/src/cim/cim_vg.c
--- old/xf86-video-geode-2.11.13/src/cim/cim_vg.c 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/cim/cim_vg.c 2012-11-24 11:01:15.000000000 +0100
@@ -897,9 +897,8 @@
if ((mode_params->flags & VG_MODEFLAG_BANDWIDTHMASK) ==
VG_MODEFLAG_HIGH_BAND || ((mode_params->flags & VG_MODEFLAG_INTERLACED)
- && (mode_params->
- flags & VG_MODEFLAG_INT_MASK) ==
- VG_MODEFLAG_INT_FLICKER) ||
+ && (mode_params->flags & VG_MODEFLAG_INT_MASK)
+ == VG_MODEFLAG_INT_FLICKER) ||
(irq_ctl & DC3_IRQFILT_GFX_FILT_EN)) {
/* HIGH BANDWIDTH */
/* Set agressive watermarks and disallow forced low priority */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/cim/cim_vip.c new/xf86-video-geode-2.11.14/src/cim/cim_vip.c
--- old/xf86-video-geode-2.11.13/src/cim/cim_vip.c 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/cim/cim_vip.c 2012-11-24 11:01:15.000000000 +0100
@@ -794,8 +794,7 @@
VIP_MSR_MCR_SECOND_PRIORITY_SHIFT) &
VIP_MSR_MCR_SECOND_PRIORITY_MASK;
q_word.low |=
- (buffer->
- primary << VIP_MSR_MCR_PRIMARY_PRIORITY_SHIFT) &
+ (buffer->primary << VIP_MSR_MCR_PRIMARY_PRIORITY_SHIFT) &
VIP_MSR_MCR_PRIMARY_PRIORITY_MASK;
q_word.low |= (buffer->pid << VIP_MSR_MCR_PID_SHIFT) & VIP_MSR_MCR_PID_MASK;
@@ -922,8 +921,7 @@
WRITE_VIP32(VIP_VERTICAL_START_STOP, ((buffer->stop <<
VIP_VSTART_VERTEND_SHIFT) &
VIP_VSTART_VERTEND_MASK) |
- ((buffer->
- start << VIP_VSTART_VERTSTART_SHIFT) &
+ ((buffer->start << VIP_VSTART_VERTSTART_SHIFT) &
VIP_VSTART_VERTSTART_MASK));
/* ENABLE IN THE CONTROL REGISTER */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/cim/cim_vop.c new/xf86-video-geode-2.11.14/src/cim/cim_vop.c
--- old/xf86-video-geode-2.11.13/src/cim/cim_vop.c 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/cim/cim_vop.c 2012-11-24 11:01:15.000000000 +0100
@@ -101,17 +101,13 @@
WRITE_REG32(DC3_VBI_LN_ODD, ((buffer->odd_line_offset <<
DC3_VBI_ODD_LINE_SHIFT) &
- DC3_VBI_ODD_LINE_MASK) | (buffer->
- odd_line_capture_mask
- &
- DC3_VBI_ODD_ENABLE_MASK));
+ DC3_VBI_ODD_LINE_MASK) |
+ (buffer->odd_line_capture_mask & DC3_VBI_ODD_ENABLE_MASK));
WRITE_REG32(DC3_VBI_LN_EVEN, ((buffer->even_line_offset <<
DC3_VBI_EVEN_LINE_SHIFT) &
- DC3_VBI_EVEN_LINE_MASK) | (buffer->
- even_line_capture_mask
- &
- DC3_VBI_EVEN_ENABLE_MASK));
+ DC3_VBI_EVEN_LINE_MASK) |
+ (buffer->even_line_capture_mask & DC3_VBI_EVEN_ENABLE_MASK));
/* PROGRAM SOURCE OFFSETS
* Start with the even offsets. Note that we always enable 16-bit VBI,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/compat-api.h new/xf86-video-geode-2.11.14/src/compat-api.h
--- old/xf86-video-geode-2.11.13/src/compat-api.h 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/compat-api.h 2012-11-24 11:01:15.000000000 +0100
@@ -77,7 +77,7 @@
#define VALID_MODE_ARGS_DECL int arg, DisplayModePtr pMode, Bool Verbose, int flags
-#else /*XF86_SCRN_INTERFACE)*/
+#else /*XF86_SCRN_INTERFACE) */
#define DDC_CALL(pScrni) (pScrni)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/geode.h new/xf86-video-geode-2.11.14/src/geode.h
--- old/xf86-video-geode-2.11.13/src/geode.h 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/geode.h 2012-11-24 11:01:15.000000000 +0100
@@ -395,6 +395,7 @@
int
+
GeodeQueryImageAttributes(ScrnInfoPtr, int id, unsigned short *w,
unsigned short *h, int *pitches, int *offsets);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/geode_blend.h new/xf86-video-geode-2.11.14/src/geode_blend.h
--- old/xf86-video-geode-2.11.13/src/geode_blend.h 2008-04-01 16:53:08.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/geode_blend.h 2012-11-24 11:01:15.000000000 +0100
@@ -1,3 +1,29 @@
+/*
+ * Copyright (c) 2007 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Neither the name of the Advanced Micro Devices, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ */
+
#ifndef AMD_BLEND_H_
#define AMD_BLEND_H_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/geode_msr.c new/xf86-video-geode-2.11.14/src/geode_msr.c
--- old/xf86-video-geode-2.11.13/src/geode_msr.c 2012-09-17 14:21:01.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/geode_msr.c 2012-11-24 11:01:15.000000000 +0100
@@ -1,3 +1,29 @@
+/*
+ * Copyright (c) 2008 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Neither the name of the Advanced Micro Devices, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/gx_accel.c new/xf86-video-geode-2.11.14/src/gx_accel.c
--- old/xf86-video-geode-2.11.13/src/gx_accel.c 2012-09-17 14:21:02.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/gx_accel.c 2012-11-24 11:01:15.000000000 +0100
@@ -2082,7 +2082,7 @@
#endif
return (XAAInit(pScrn, localRecPtr));
-#else /* XF86XAA */
+#else /* XF86XAA */
return FALSE;
#endif
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/gx_randr.c new/xf86-video-geode-2.11.14/src/gx_randr.c
--- old/xf86-video-geode-2.11.13/src/gx_randr.c 2012-09-17 14:21:02.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/gx_randr.c 2012-11-24 11:01:15.000000000 +0100
@@ -181,7 +181,8 @@
#endif
if (pRoot)
- (*pScrni->EnableDisableFBAccess) (XF86_ENABLEDISABLEFB_ARG(pScrni, FALSE));
+ (*pScrni->
+ EnableDisableFBAccess) (XF86_ENABLEDISABLEFB_ARG(pScrni, FALSE));
if (useVirtual) {
pScrni->virtualX = pRandr->virtualX;
@@ -236,7 +237,8 @@
xf86SetViewport(pScreen, 0, 0);
if (pRoot)
- (*pScrni->EnableDisableFBAccess) (XF86_ENABLEDISABLEFB_ARG(pScrni, TRUE));
+ (*pScrni->
+ EnableDisableFBAccess) (XF86_ENABLEDISABLEFB_ARG(pScrni, TRUE));
return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/gx_rotate.c new/xf86-video-geode-2.11.14/src/gx_rotate.c
--- old/xf86-video-geode-2.11.13/src/gx_rotate.c 2012-09-17 14:21:02.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/gx_rotate.c 2012-11-24 11:01:15.000000000 +0100
@@ -152,8 +152,8 @@
pScrni->pScreen->rootDepth,
pScrni->bitsPerPixel,
PixmapBytePad(pScrni->displayWidth,
- pScrni->pScreen->
- rootDepth),
+ pScrni->
+ pScreen->rootDepth),
(pointer) (pGeode->FBBase +
pScrni->fbOffset));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/lx_exa.c new/xf86-video-geode-2.11.14/src/lx_exa.c
--- old/xf86-video-geode-2.11.13/src/lx_exa.c 2012-09-17 14:21:02.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/lx_exa.c 2012-11-24 11:01:15.000000000 +0100
@@ -95,7 +95,6 @@
unsigned int srcPitch;
unsigned int srcBpp;
unsigned int srcWidth, srcHeight;
- PixmapPtr srcPixmap;
unsigned int srcColor;
int op;
@@ -285,6 +284,7 @@
* exaGetPixmapFirstPixel, so this should be adjusted so
* the stall isn't run needlessly
*/
+ /* FIXME: xserver-1.4 with a supposed fix for this is really old, so kill the stall? */
gp_wait_until_idle();
in = exaGetPixmapFirstPixel(pSrc);
@@ -547,28 +547,39 @@
if (op > PictOpAdd)
GEODE_FALLBACK(("Operation %d is not supported\n", op));
+ /* XXX - don't know if we can do any hwaccel on solid fills or gradient types in generic cases */
+ if (pMsk && pMsk->pSourcePict)
+ GEODE_FALLBACK(("%s are not supported as a mask\n",
+ pMsk->pSourcePict->type ==
+ SourcePictTypeSolidFill ? "Solid pictures" :
+ "Gradients"));
+
+ if (pSrc->pSourcePict && pSrc->pSourcePict->type != SourcePictTypeSolidFill)
+ GEODE_FALLBACK(("Gradients are not supported as the source\n"));
+
+ if (pMsk && op == PictOpAdd)
+ GEODE_FALLBACK(("PictOpAdd with mask is not supported\n"));
+
/* FIXME: Meet this conditions from the debug for PictOpAdd.
* Any Other possibilities? Add a judge for the future supplement */
if (op == PictOpAdd && pSrc->format == PICT_a8r8g8b8 &&
- pDst->format == PICT_a8 && !pMsk)
+ pDst->format == PICT_a8)
return TRUE;
if (op == PictOpAdd && pSrc->format == PICT_x8r8g8b8 &&
- pDst->format == PICT_a8 && !pMsk)
+ pDst->format == PICT_a8)
return TRUE;
if (op == PictOpAdd && pSrc->format == PICT_r5g6b5 &&
- pDst->format == PICT_a8 && !pMsk)
+ pDst->format == PICT_a8)
return TRUE;
if (usesPasses(op)) {
+ /* FIXME: Slightly misleading fallback msg when !pMsk */
if (pGeode->exaBfrOffset == 0 || !pMsk)
GEODE_FALLBACK(("Multipass operation requires off-screen buffer\n"));
}
- if (pMsk && op == PictOpAdd)
- GEODE_FALLBACK(("PictOpAdd with mask is not supported\n"));
-
/* Check that the filter matches what we support */
switch (pSrc->filter) {
@@ -585,10 +596,6 @@
if (pMsk && pMsk->transform)
GEODE_FALLBACK(("Mask transforms are not supported\n"));
- /* XXX - don't know if we can do any hwaccel on solid fills or gradient types */
- if (pSrc->pSourcePict || (pMsk && pMsk->pSourcePict))
- GEODE_FALLBACK(("Solid fills or gradient types are not supported\n"));
-
/* Keep an eye out for source rotation transforms - those we can
* do something about */
@@ -607,8 +614,9 @@
struct blend_ops_t *opPtr = &lx_alpha_ops[op * 2];
int direction = (opPtr->channel == CIMGP_CHANNEL_A_SOURCE) ? 0 : 1;
- /* Direction 0 indicates src->dst, 1 indiates dst->src */
- if (((direction == 0) && (pSrc->pDrawable->bitsPerPixel < 16)) ||
+ /* Direction 0 indicates src->dst, 1 indicates dst->src */
+ if (((direction == 0) &&
+ (pSrc->pDrawable && pSrc->pDrawable->bitsPerPixel < 16)) ||
((direction == 1) && (pDst->pDrawable->bitsPerPixel < 16))) {
ErrorF("Mask blending unsupported with <16bpp\n");
return FALSE;
@@ -617,27 +625,32 @@
GEODE_FALLBACK(("Masks can be only done with a 8bpp or 4bpp depth\n"));
/* The pSrc should be 1x1 pixel if the pMsk is not zero */
- if (pSrc->pDrawable->width != 1 || pSrc->pDrawable->height != 1)
+ if (pSrc->pDrawable &&
+ (pSrc->pDrawable->width != 1 || pSrc->pDrawable->height != 1))
GEODE_FALLBACK(("pSrc should be 1x1 pixel if pMsk is not zero\n"));
/* FIXME: In lx_prepare_composite, there are no variables to record the
* one pixel source's width and height when the mask is not zero.
* That will lead to bigger region to render instead of one pixel in lx
* _do_composite, so we should fallback currently to avoid this */
- if (!pSrc->repeat)
+ /* Not an issue for solid pictures, because we'll treat it as 1x1R too */
+ if (!pSrc->repeat &&
+ !(pSrc->pSourcePict &&
+ pSrc->pSourcePict->type == SourcePictTypeSolidFill)) {
GEODE_FALLBACK(("FIXME: unzero mask might lead to bigger rendering region than 1x1 pixels\n"));
+ }
+ }
+ else {
+ if (pSrc->pSourcePict)
+ GEODE_FALLBACK(("Solid source pictures without a mask are not supported\n"));
}
/* Get the formats for the source and destination */
- if ((srcFmt = lx_get_format(pSrc)) == NULL) {
- ErrorF("EXA: Invalid source format %x\n", pSrc->format);
- return FALSE;
- }
+ if ((srcFmt = lx_get_format(pSrc)) == NULL)
+ GEODE_FALLBACK(("Unsupported source format %x\n", pSrc->format));
- if ((dstFmt = lx_get_format(pDst)) == NULL) {
- ErrorF("EXA: Invalid destination format %x\n", pDst->format);
- return FALSE;
- }
+ if ((dstFmt = lx_get_format(pDst)) == NULL)
+ GEODE_FALLBACK(("Unsupported destination format %x\n", pDst->format));
/* Make sure operations that need alpha bits have them */
/* If a mask is enabled, the alpha will come from there */
@@ -684,25 +697,29 @@
if (pMsk && op != PictOpClear) {
/* Get the source color */
- /* If the op is PictOpOver(or PictOpOutReverse, PictOpInReverse,
- * PictOpIn, PictOpOut, PictOpOverReverse), we should get the
- * ARGB32 source format */
-
- if ((op == PictOpOver || op == PictOpOutReverse || op ==
- PictOpInReverse || op == PictOpIn || op == PictOpOut ||
- op == PictOpOverReverse) && (srcFmt->alphabits != 0))
- exaScratch.srcColor = exaGetPixmapFirstPixel(pxSrc);
- else if ((op == PictOpOver || op == PictOpOutReverse || op ==
- PictOpInReverse || op == PictOpIn || op == PictOpOut ||
- op == PictOpOverReverse) && (srcFmt->alphabits == 0))
- exaScratch.srcColor = lx_get_source_color(pxSrc, pSrc->format,
- PICT_a8r8g8b8);
- else
- exaScratch.srcColor = lx_get_source_color(pxSrc, pSrc->format,
- pDst->format);
+ if (pSrc->pSourcePict) {
+ exaScratch.srcColor = pSrc->pSourcePict->solidFill.color;
+ }
+ else {
+ /* If the op is PictOpOver(or PictOpOutReverse, PictOpInReverse,
+ * PictOpIn, PictOpOut, PictOpOverReverse), we should get the
+ * ARGB32 source format */
+
+ if ((op == PictOpOver || op == PictOpOutReverse || op ==
+ PictOpInReverse || op == PictOpIn || op == PictOpOut ||
+ op == PictOpOverReverse) && (srcFmt->alphabits != 0))
+ exaScratch.srcColor = exaGetPixmapFirstPixel(pxSrc);
+ else if ((op == PictOpOver || op == PictOpOutReverse || op ==
+ PictOpInReverse || op == PictOpIn || op == PictOpOut ||
+ op == PictOpOverReverse) && (srcFmt->alphabits == 0))
+ exaScratch.srcColor = lx_get_source_color(pxSrc, pSrc->format,
+ PICT_a8r8g8b8);
+ else
+ exaScratch.srcColor = lx_get_source_color(pxSrc, pSrc->format,
+ pDst->format);
+ }
/* Save off the info we need (reuse the source values to save space) */
-
exaScratch.type = COMP_TYPE_MASK;
exaScratch.maskrepeat = pMsk->repeat;
@@ -973,12 +990,9 @@
opWidth = ((opX + width) - optempX) > exaScratch.srcWidth
? exaScratch.srcWidth : ((opX + width) - optempX);
opHeight = ((opY + height) - optempY) > (exaScratch.srcHeight -
- srcY) ? (exaScratch.
- srcHeight -
- srcY) : ((opY +
- height)
- -
- optempY);
+ srcY)
+ ? (exaScratch.srcHeight - srcY) : ((opY + height)
+ - optempY);
}
else {
srcOffset = GetSrcOffset(0, 0);
@@ -1295,8 +1309,8 @@
if (exaScratch.type == COMP_TYPE_ONEPASS) {
/* This is the condition srcX or/and srcY is/are out of source
* region */
- if (((srcX >= 0 && srcY >= exaScratch.srcHeight)
- || (srcX >= exaScratch.srcWidth && srcY >= 0)) &&
+ if (((srcY >= 0 && srcY >= exaScratch.srcHeight)
+ || (srcX >= 0 && srcX >= exaScratch.srcWidth)) &&
(exaScratch.op == PictOpOver || exaScratch.op == PictOpSrc)) {
if (exaScratch.repeat == 1) {
opWidth = width;
@@ -1337,8 +1351,29 @@
opHeight = height;
}
else {
- /* Have not met this condition till now */
- return;
+ /* FIXME: We can't support negative srcX/Y for all corner cases in
+ * a sane way without a bit bigger refactoring. So as to avoid
+ * gross misrenderings (e.g missing tray icons) in current real-world
+ * applications, just shift destination appropriately for now and
+ * ignore out of bounds source pixmap zero-vector handling. This is
+ * actually correct for PictOpOver, but PictOpSrc out of bounds regions
+ * should be blacked out, but aren't - without this workaround however
+ * it'd be simply all black instead, which is probably worse till a full
+ * clean solution solves it for all cases. */
+ if (srcX < 0) {
+ opX -= srcX;
+ srcX = 0;
+ }
+
+ if (srcY < 0) {
+ opY -= srcY;
+ srcY = 0;
+ }
+
+ /* EXA has taken care of adjusting srcWidth if it gets cut on the right */
+ width = opWidth = exaScratch.srcWidth;
+ /* EXA has taken care of adjusting srcHeight if it gets cut on the bottom */
+ height = opHeight = exaScratch.srcHeight;
}
}
else {
@@ -1462,6 +1497,17 @@
}
/* All black out of the source */
if (!exaScratch.repeat && (exaScratch.type == COMP_TYPE_ONEPASS)) {
+ /* FIXME: We black out the source here, so that any further regions
+ * in the loop get handled as a source that's a zero-vector (as
+ * defined for out-of-bounds from source pixmap for RepeatModeNone),
+ * but this will likely interfere with cases where srcX and/or srcY
+ * is negative - as opposed to e.g width being larger than srcWidth,
+ * which is exercised in rendercheck (always rectangle in top-left
+ * corner).
+ * Additionally it forces the drawing into tiles of srcWidth/srcHeight
+ * for non-repeat modes too, where we don't really need to tile it like
+ * this and could draw the out of bound regions all at once (or at most
+ * in 4 operations without the big loop). */
lx_composite_all_black(srcOffset, exaScratch.srcWidth,
exaScratch.srcHeight);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-geode-2.11.13/src/lx_video.c new/xf86-video-geode-2.11.14/src/lx_video.c
--- old/xf86-video-geode-2.11.13/src/lx_video.c 2012-09-17 14:21:02.000000000 +0200
+++ new/xf86-video-geode-2.11.14/src/lx_video.c 2012-11-24 11:01:15.000000000 +0100
@@ -70,6 +70,7 @@
static void
+
LXDisplayVideo(ScrnInfoPtr pScrni, int id, short width, short height,
BoxPtr dstBox, short srcW, short srcH, short drawW, short drawH);
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org