summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-25Geode 2.11.14xf86-video-geode-2.11.14Martin-Éric Racine
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.
2012-11-24pre-release whitespace cleanup using ../modular/x-indent-all.shMartin-Éric Racine
2012-11-20NEWS: Release notes for 2.11.14Mart Raudsepp
2012-11-20NEWS: Fix placement order of 2.11.10 NEWS compared to othersMart Raudsepp
2012-11-20lx_exa: Improvements to negative srcX/Y PictOpSrc/Over operationsMart Raudsepp
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
2012-10-23lx_exa: Implement solid pictures support as source with a maskMart Raudsepp
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.
2012-10-23lx_exa: Remove unused srcPixmap member from exaScratchMart Raudsepp
Became redundant with commit 32a927b8e6
2012-10-02Clarified the copyright and license of src/geode_msr.c src/geode_blend.hMartin-Éric Racine
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/
2012-09-18lx_exa: Downgrade src/dst format warnings to fallbacks to not spam the logMart Raudsepp
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.
2012-09-18lx_exa: Fix crash with solid fills on PictOpAdd operationsMart Raudsepp
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.
2012-08-29NEWS: add information about releases since 2.11.9Martin-Éric Racine
...and flip the location of the recent src/Makefile.am addition.
2012-08-09src/Makefile.am: added missing compat-api.h to geode_drv_la_SOURCESMartin-Éric Racine
2012-07-26configure: Make the new XAA checks work, and other improvementsMart Raudsepp
commit 68646c31 added XAA checks were too early, when XORG_CFLAGS isn't declared yet, so it got never enabled. Move the block after xorg-server pkg-config checks, which declare XORG_CFLAGS. Change configure to fail if --enable-xaa is explicitly requested, but XAA headers are not found. Other tweaks for more autoconf-ism. Signed-off-by: Mart Raudsepp <leio@gentoo.org>
2012-07-26Initial stab at converting geode to new X1.13 APIMaarten Lankhorst
Preparing to compile geode on X 1.13 All compiler errors are gone as far as I can tell, but I lack the hardware to verify it works as well.
2012-07-26Allow building on Xservers without XAAMaarten Lankhorst
2012-07-25lx_exa: Fix EXA minor version checksMart Raudsepp
The old version of just checking for EXA_MINOR_VERSION >= 2 would stop working if ever EXA gets a new major version, as minor would be reset to 0, and start unexpectedly working again when minor gets bumped gradually up to 2 again. Other drivers also assume that a new major would still have the vfunc we use.
2012-07-25Fix an unused variable warning in geode_driver.cMart Raudsepp
geode_driver.c:372:9: warning: variable 'cpu_detected' set but not used [-Wunused-but-set-variable] Was used only in a DEBUGMSG, which has since been made not do anything ever, so just kill it completely, as the debug message wasn't useful anyway.
2012-07-11Whitespace cleanup using ../modular/x-indent.shMartin-Éric Racine
2012-04-03geode: fix compile on x86-64 in tinderbox.Dave Airlie
geode_ddc.c: In function 'GeodeI2CInit': geode_ddc.c:158: error: cast to pointer from integer of different size Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-01-02z4l.c: drop unnecessary #include linux/types.hMartin-Éric Racine
On hybrid platforms, such as Debian GNU/KFreeBSD, that support V4L2 and yet without providing the full complement of Linux headers, ZTV fails to compile because of this missing header. Given how removing this header does not adversely affect compiling, plus it might improve portability, we went ahead and removed it. Nonetheless, as observed by Gaetan Nadon, z4l.c includes code that explicitly disables the module on any OS other than Linux: LoaderGetOS(&osname, NULL, NULL, NULL); if (osname == NULL || strcmp(osname, "linux") != 0) { if (errmaj) *errmaj = LDR_BADOS; if (errmin) *errmin = 0; return NULL; } Still, in the interest of OS neutrality, we decided to leave recent autoconf magic in place and to let OS vendors figure out how to get the module loaded on non-Linux OS themselves. Patches are welcome. Signed-off-by: Martin-Éric Racine <martin-eric.racine@iki.fi>
2011-12-26Geode 2.11.13xf86-video-geode-2.11.13Martin-Éric Racine
This release mainly features a complete overhaul of the building scripts plus a cleanup of deprecated macros. The key benefit is that this Geode driver can finally build on FreeBSD and on other platforms not offering V4L2 support and that it can also build on a 64-bit host using its 32-bit personality. Support for the Video Input Port (VIP) feature of the Geode LX found in 'ztv' is now documented and the source code saw the removal of deprecated Linux 2.4 backward compatibility code. Compiling is skipped on platforms without V4L2. Configuration for laptops featuring WXGA resolutions is finally documented. Setting the GEODE_TRACE_FALL macro now enables composite operation tracing on this driver. This can be used to profile the performance during development. 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. Signed-off-by: Martin-Éric Racine <martin-eric.racine@iki.fi>
2011-12-25Fix lx_display.c:360:9: warning: ISO C90 forbids mixed declarations and codeMartin-Éric Racine
2011-12-19Fix for new vgaHW ABIAdam Jackson
Signed-off-by: Adam Jackson <ajax@redhat.com>
2011-12-12DCONDPMSSet: handle error return code on "write" to avoid a warningGaetan Nadon
The author of the write() system call has deemed important for the caller to check the return code. If not, the compiler issues a warning. The patch handles a bad return code from write() just in the same way as the code does for the open() calls. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-29README: added example of ZTV loading to EC800 xorg.conf sample.Martin-Éric Racine
2011-11-29README: do not suggest compiling with xserver older than 1.3Gaetan Nadon
This was done at one point in time by some drivers (3 that I remember) but the workarounds all have been removed since. The tarballs created by those drivers picked-up whatever code happened to be on the developer disk and was not in git. The code was not maintained and in fact did not work thereafter. http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/configure.ac ?id=84f69081abaeef8b05cafb64d3102eb2abdf9a8e Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-24README: added info about how to calculate arbitrary laptop modelines.Martin-Éric Racine
2011-11-21README: whitespace cleanup.Martin-Éric Racine
2011-11-21README: harmonize x.org versus freedesktop.org as much as possible.Martin-Éric Racine
2011-11-21README: add info about the Geode mailing list and Bugzilla component.Martin-Éric Racine
2011-11-21Remove unrequired large file descriptor partial supportGaetan Nadon
The LFS "transitional extension" API is deprecated and is not available on FreeBSD. Large file support (64 bit) is not required on the geode 32 bit only architecture. There are some hints that the LFS transional extension API were not used correclty. The variable holding the value is held in an unsigned long rather than in off_t. The msr open call did not use the O_LARGEFILE flag and did not check for EOVERFLOW. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21README: a little bit of proofreading wouldn't hurt now, would it?Martin-Éric Racine
2011-11-21README: added a sample xorg.conf for 1024x600 and 800x480 laptops.Martin-Éric Racine
2011-11-21config: fix Autoconf warnings and improve commentsGaetan Nadon
These changes have been done in all other video drivers. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21config: The compiler version to use is now set in XORG_DEFAULT_OPTIONSGaetan Nadon
In this case "now" means a couple of years ago. All of Xorg is compiled with AC_PROG_CC_C99. It shows up in config.log as CC='gcc -std=gnu99'. The removed statement was resetting the compiler to C89 as it comes after XORG_DEFAULT_OPTIONS. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21config: remove a few dead/obsolete lines of codeGaetan Nadon
HAVE_XEXTPROTO_71 not used in Makefile. AC_HEADER_STD is very obsolete. AC_SUBST([XORG_CFLAGS]) is redundant. DRIVER_NAME is correctly no longer used. AC_SUBST([moduledir]) has just been moved up. Any erroneously removed statements above would result in a configuration failure. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Move back ztv with geode driverGaetan Nadon
Now we have a clean separation between CPP flags and C Flags Only the C Flags apply to both geode and ztv driver, however it is not worth doing a per target compilation. Should some flags become mutually exclusive and if we want to have both target in the same makefile, add the incompatible flag on the appropriate target, example: geode_drv_la_CFLAGS = $(AM_CFLAGS) -newCFlag and/or geode_drv_la_CPPFLAGS = $(AM_CPPFLAGS) -newCPPFlag Note that both AM_CFLAGS and AM_CPPFLAGS are picked-up by both geode and ztv driver target. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Separate compiler from pre-processor optionsGaetan Nadon
Clean-up what goes in AM_CFLAGS and AM_CPPFLAGS Use more descriptive names such that comments are not needed. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Detect 32bit support on 64bit OS and compile with -m32 if foundGaetan Nadon
For gcc compiler only at the moment. The configuration reports if support is found or not, e.g.: checking if gcc supports the -m32 Intel/AMD option... yes The configuration C test relies on #include unistd.h which includes features.h which includes gnu/stubs.h which includes gnu/stubs-32.h which is missing on 64 bit system without the 32 bit library support. Tested on x86_64 AMD64 CPU with/without libc6-dev-i386 which provides 32 bit support. Remains to be tested on Geode and FreeBSD 32/64 bit. The configuration does not attempt to decide if building should proceed or be aborted. If no 32 bit support then the build will die in the assembly code as it always did before. The variable M32_CFLAGS provides the flag for the makefiles. The variable names and organization is subject to change. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21geode source: streamline whitespace and sort alphabeticallyGaetan Nadon
No functional changes. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove -I linux_v26 as the directory does not existGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove unused and misleading I386ARCH configuration codeGaetan Nadon
The AM_CONDITIONAL I386ARCH is not used. The AC_CHECK_DECLS is misleading as it suggests there could be some i*86 system with a 64 bit architecture which is incorrect. It also provides false results on 64 bit computer. The generated HAVE_DECL_XXX are not used anyway. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove -DPNL_SUP for the ztv driverGaetan Nadon
Only the gx driver provide such a panel. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove duplicate warning variable and werror optionGaetan Nadon
Use already existing: --enable-strict-compilation Enable all warnings from compiler and make them errors (default: disabled) which, byt the way was broken as it was not implemented in geode. Use already existing CWARNINGFLAGS variable, so there is no need to define GCC_WARNINGS. Both come from util-macros version 1.4 or later. http://cgit.freedesktop.org/xorg/util/macros/tree/xorg-macros.m4.in ?id=03b04a6b5d61aafbd2705f7d29e58e0c92553a4a If you configure with a later version of util-macros you may see new warnings appear as additional flags have been added over the years. You get better support for platforms/compiler differences. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove unrequired .s assembly files automake supportGaetan Nadon
Only the suffixes .s, .S, and .sx are recognized by automake as being files containing assembly code. http://www.gnu.org/software/automake/manual/automake.html#Assembly-Support Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove ztv LINUX_2_6 switch and dead codeGaetan Nadon
The makefile defines LINUX_2_6 so the "else" code is dead. The port from kernel 2.4 is complete. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove broken duplicate visibility configure optionGaetan Nadon
This was added by commit f762b456 in 2007 and has been since implemented in the server which returns it in XORG_CFLAGS pkg-config --cflags xorg-server The server also takes care of platforms and compilers being used. Currently the visibility is set twice and even if you disable it, it is still passed through XORG_CFLAGS. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove unused LINUX_2_6 macro from geode driver makefileGaetan Nadon
It is used in ztv but not geode driver. In the wake of more platforms other than linux, might as well remove any source of confusion. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove HAVE__GX HAVE_LX and OPT_ACCEL from ztv buildGaetan Nadon
These macros are not used in z4l.c. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-11-21Remove no longer used AMD_V4L2_VIDEO from makefilesGaetan Nadon
This macro has been removed every where from source code. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>