Update to xf86-video-geode 2.11.13
This commit is contained in:
parent
e46d8ddd0d
commit
40a6c4a96f
@ -2,6 +2,7 @@ Copyright (C) 2003-2008 Advanced Micro Devices, Inc.
|
|||||||
Copyright (C) 2007 George Sapountzis
|
Copyright (C) 2007 George Sapountzis
|
||||||
Copyright (C) 2002 David Dawes
|
Copyright (C) 2002 David Dawes
|
||||||
Copyright (C) 2001 VA Linux Systems Inc., Fremont, California.
|
Copyright (C) 2001 VA Linux Systems Inc., Fremont, California.
|
||||||
|
Copyright (C) 2002 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
|
|
||||||
LICENSE:
|
LICENSE:
|
||||||
|
|
||||||
|
@ -1,3 +1,544 @@
|
|||||||
|
commit e420d7956afceeb41f20179cedc28d46aebdb29f
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Mon Dec 26 22:13:22 2011 +0200
|
||||||
|
|
||||||
|
Geode 2.11.13
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 7e7fe26882dada5878d5450e64c043ba7b0737fd
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Dec 25 21:43:40 2011 +0200
|
||||||
|
|
||||||
|
Fix lx_display.c:360:9: warning: ISO C90 forbids mixed declarations and code
|
||||||
|
|
||||||
|
commit 515d232162c8ea2c5ecabf12b88b0bf4eb5102e7
|
||||||
|
Author: Adam Jackson <ajax@redhat.com>
|
||||||
|
Date: Mon Dec 19 17:47:38 2011 -0500
|
||||||
|
|
||||||
|
Fix for new vgaHW ABI
|
||||||
|
|
||||||
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||||
|
|
||||||
|
commit 78052e0d3e28c7e6e08666d9ed2bcc64f5e93540
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Tue Nov 29 12:02:32 2011 -0500
|
||||||
|
|
||||||
|
DCONDPMSSet: handle error return code on "write" to avoid a warning
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit db7155395e794eb276f853c7642f62727e29a0b9
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Tue Nov 29 23:49:06 2011 +0200
|
||||||
|
|
||||||
|
README: added example of ZTV loading to EC800 xorg.conf sample.
|
||||||
|
|
||||||
|
commit d072870e20c360fb0ec1baefc6abcb11a6d4687c
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Tue Nov 29 14:20:17 2011 -0500
|
||||||
|
|
||||||
|
README: do not suggest compiling with xserver older than 1.3
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 2890f6c431a6de0726c6c53a800074f95d71294e
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Thu Nov 24 21:47:35 2011 +0200
|
||||||
|
|
||||||
|
README: added info about how to calculate arbitrary laptop modelines.
|
||||||
|
|
||||||
|
commit e520739e9ce18a48df7d873de16022aec21d7d3c
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Mon Nov 21 22:47:23 2011 +0200
|
||||||
|
|
||||||
|
README: whitespace cleanup.
|
||||||
|
|
||||||
|
commit edb6a6380e0db6be06fe89e7d73dedbca945550f
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Mon Nov 21 22:42:41 2011 +0200
|
||||||
|
|
||||||
|
README: harmonize x.org versus freedesktop.org as much as possible.
|
||||||
|
|
||||||
|
commit 308430e8898e29ae111bf4f552f4d7554b96fda2
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Mon Nov 21 22:34:26 2011 +0200
|
||||||
|
|
||||||
|
README: add info about the Geode mailing list and Bugzilla component.
|
||||||
|
|
||||||
|
commit 1108f9cfac5b78fc9660174aa4df592ecd87d287
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Mon Nov 14 14:52:21 2011 -0500
|
||||||
|
|
||||||
|
Remove unrequired large file descriptor partial support
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 0daee9eb57c826da120edf35c50e8947a43f19b2
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Mon Nov 21 10:54:10 2011 +0200
|
||||||
|
|
||||||
|
README: a little bit of proofreading wouldn't hurt now, would it?
|
||||||
|
|
||||||
|
commit d1c40f2d5baa2d964499412c7f1c443c9ee63626
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Mon Nov 21 10:24:29 2011 +0200
|
||||||
|
|
||||||
|
README: added a sample xorg.conf for 1024x600 and 800x480 laptops.
|
||||||
|
|
||||||
|
commit 8fc372b4e239005dda60f45737468f1e82571457
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Sun Nov 20 15:58:03 2011 -0500
|
||||||
|
|
||||||
|
config: fix Autoconf warnings and improve comments
|
||||||
|
|
||||||
|
These changes have been done in all other video drivers.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit 725d6ddc0b0888af9b033ccb6ce88c9800a791f9
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Sun Nov 20 15:35:29 2011 -0500
|
||||||
|
|
||||||
|
config: The compiler version to use is now set in XORG_DEFAULT_OPTIONS
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 40aae069bb15cda123f5e08b757ca93166e62db8
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Sun Nov 20 15:24:00 2011 -0500
|
||||||
|
|
||||||
|
config: remove a few dead/obsolete lines of code
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit fa0e88bfe00baa648ab3b1184b56f7dc5536aa21
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Sat Nov 19 15:33:33 2011 -0500
|
||||||
|
|
||||||
|
Move back ztv with geode driver
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 03529b7b35fa8d7b5bac277d6abe1caf0557301a
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Sat Nov 19 13:22:32 2011 -0500
|
||||||
|
|
||||||
|
Separate compiler from pre-processor options
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit ac99bf2c5cdf86f039a290397614ca042a56c8db
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Fri Nov 18 16:36:12 2011 -0500
|
||||||
|
|
||||||
|
Detect 32bit support on 64bit OS and compile with -m32 if found
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 3021c6df08004ec9ed846fec4000d798148eeb0e
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Thu Nov 17 19:47:10 2011 -0500
|
||||||
|
|
||||||
|
geode source: streamline whitespace and sort alphabetically
|
||||||
|
|
||||||
|
No functional changes.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit c1993fa8e5bf07bbd43b09ae2ec27c287725d81e
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Thu Nov 17 19:21:01 2011 -0500
|
||||||
|
|
||||||
|
Remove -I linux_v26 as the directory does not exist
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit 4eaba919fccc7618aee0b2f58294e460640bedb9
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Thu Nov 17 12:32:55 2011 -0500
|
||||||
|
|
||||||
|
Remove unused and misleading I386ARCH configuration code
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 65275e62415ded849f9986a36ad55ca3c96dc331
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Thu Nov 17 12:20:13 2011 -0500
|
||||||
|
|
||||||
|
Remove -DPNL_SUP for the ztv driver
|
||||||
|
|
||||||
|
Only the gx driver provide such a panel.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit 60c3f5f7e9482d29f043504860319aeead7b9a69
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Thu Nov 17 09:32:24 2011 -0500
|
||||||
|
|
||||||
|
Remove duplicate warning variable and werror option
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 5f228208cc65348e35aa24b6cddae1df19b67fa5
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Wed Nov 16 20:14:08 2011 -0500
|
||||||
|
|
||||||
|
Remove unrequired .s assembly files automake support
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit fc9957114875edb94cba89a4f4f0e023f2c98bfb
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Wed Nov 16 19:47:08 2011 -0500
|
||||||
|
|
||||||
|
Remove ztv LINUX_2_6 switch and dead code
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 100576b3a0a38da7a957969745b2cf087929c478
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Wed Nov 16 19:15:17 2011 -0500
|
||||||
|
|
||||||
|
Remove broken duplicate visibility configure option
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 970d142abe2fa09b294dd2bfa860fe3bbcaa8c68
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Wed Nov 16 17:01:48 2011 -0500
|
||||||
|
|
||||||
|
Remove unused LINUX_2_6 macro from geode driver makefile
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
commit 65625eac28af7cf3164e5560478cd18aaa0ac33e
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Wed Nov 16 15:20:07 2011 -0500
|
||||||
|
|
||||||
|
Remove HAVE__GX HAVE_LX and OPT_ACCEL from ztv build
|
||||||
|
|
||||||
|
These macros are not used in z4l.c.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit dd8eadc53732ed2929e38c565240147165767625
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Wed Nov 16 15:11:18 2011 -0500
|
||||||
|
|
||||||
|
Remove no longer used AMD_V4L2_VIDEO from makefiles
|
||||||
|
|
||||||
|
This macro has been removed every where from source code.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit fc19e7d2bd256663b4a731661a35abcf435eaf18
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Wed Nov 16 14:07:10 2011 -0500
|
||||||
|
|
||||||
|
Add a configure option to enable/disable building the ztv driver
|
||||||
|
|
||||||
|
Even when V4L2 is available there are always reasons why distros
|
||||||
|
may not want to build the driver.
|
||||||
|
|
||||||
|
This patch uses a common idiom in xorg.
|
||||||
|
When no configure option is specified ztv is built iff v4l2 is detected (auto).
|
||||||
|
When user issues --disable-ztv, the ztv driver is not built (no)
|
||||||
|
When user issues --enable-ztv, the ztv driver is built (yes) if v4l2 is detected
|
||||||
|
but the configuration fails if v4l2 is missing. Distros do not want silent
|
||||||
|
failures when a feature is explicitly requested but cannot be built.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit 23b85b3fcd1439561f0693755a31f7fded50741b
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Tue Nov 15 19:36:17 2011 -0500
|
||||||
|
|
||||||
|
Add conditional build for ztv
|
||||||
|
|
||||||
|
Detect the presence of Video4Linux V2 and do not build if missing.
|
||||||
|
|
||||||
|
The geode driver is no longer Linux only.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit e4b771572d7b0797a794340ab8fb8b1db91a5eb1
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Tue Nov 15 18:02:34 2011 -0500
|
||||||
|
|
||||||
|
Move ztv driver to it's own directory
|
||||||
|
|
||||||
|
The convention is to have the video driver (geode) in the src subdir
|
||||||
|
and any other targets (utils, apps, other drivers) in their own
|
||||||
|
directory. It makes it much simpler to right a correct makefile
|
||||||
|
and to set conditional compile.
|
||||||
|
|
||||||
|
This highlighted a few things to fix. For now, the directory includes
|
||||||
|
have not been copied as they are required. The AM_CCASFLAGS is not required
|
||||||
|
either as there is no assembler.
|
||||||
|
|
||||||
|
Other than that, the gcc command issued has no differences. Other unrequired
|
||||||
|
defines could be removed later.
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit 2b3767b9e424ce371c342c9c9a2f2ae1f61df1fd
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sat Nov 19 02:29:20 2011 +0200
|
||||||
|
|
||||||
|
README: emphasize that "ztv" is the name of that VIP driver.
|
||||||
|
|
||||||
|
commit aa7cd847d821ed639f7d18a5114a13c324f6f227
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sat Nov 19 02:17:22 2011 +0200
|
||||||
|
|
||||||
|
README: properly call the LX's video input port feature "VIP"
|
||||||
|
|
||||||
|
commit 9bbc7bc49f1d04d41d7e1750b81cfce45e4ddf42
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Thu Nov 17 02:15:27 2011 +0200
|
||||||
|
|
||||||
|
Added info about 'ztv' a.k.a. the V4L2 driver for LX in README.
|
||||||
|
|
||||||
|
commit 9e8a766cfb458cdc791f4c4a932fe51638a8bc73
|
||||||
|
Author: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
Date: Tue Nov 15 16:55:15 2011 -0500
|
||||||
|
|
||||||
|
Add gx_randr.c Copyright statement to COPYING
|
||||||
|
|
||||||
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
||||||
|
|
||||||
|
commit b724ff4045994fff721db4ab67f8aa418cc4f707
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Mon Nov 14 08:44:32 2011 +0200
|
||||||
|
|
||||||
|
Revert "Only enable z4l.c on Linux" until we have a consensus.
|
||||||
|
|
||||||
|
commit 587d4e40e58e70649968261f73b7fb2078349f4f
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Nov 13 15:48:29 2011 +0200
|
||||||
|
|
||||||
|
Revised BSD check in geode_msr.c
|
||||||
|
|
||||||
|
commit ee52d73fd2c68740b1ff3cdb5b1bf2a6d941090d
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Nov 13 03:40:01 2011 +0200
|
||||||
|
|
||||||
|
Move the z4l.c test to src/Makefile.am where it should be.
|
||||||
|
|
||||||
|
commit d193a42b3596ceb9dfaa66af71edd1f15ecc75bd
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Nov 13 03:23:21 2011 +0200
|
||||||
|
|
||||||
|
Added two #ifdef to enable building on FreeBSD.
|
||||||
|
|
||||||
|
commit ee6296ecb8bf5c9b5e7fa3eade5fa45245b66d62
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Nov 13 03:14:51 2011 +0200
|
||||||
|
|
||||||
|
Whitespace cleanup.
|
||||||
|
|
||||||
|
commit f6745f544feeb7443405f4b87043be9b721236b5
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Nov 13 03:10:01 2011 +0200
|
||||||
|
|
||||||
|
Only enable z4l.c on Linux.
|
||||||
|
|
||||||
|
commit f15f4da59a80533f3864aa6c54b4471e272d5c80
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Wed Apr 6 22:13:09 2011 +0300
|
||||||
|
|
||||||
|
Added info about the Geode developers' IRC channel in README.
|
||||||
|
|
||||||
|
commit 3c1375afdb9e1be524adae98c3713397d50e3a3e
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Mar 13 16:17:06 2011 +0200
|
||||||
|
|
||||||
|
Proofread and restructured the README for clarity.
|
||||||
|
|
||||||
|
commit 9d0986232cb417f41aee934b655cc0bbbae5f99b
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Mar 13 15:21:31 2011 +0200
|
||||||
|
|
||||||
|
Added README section about supported resolutions.
|
||||||
|
|
||||||
|
Inverted two FAQ sections so as to bring the answer about WXGA
|
||||||
|
right below this new supported resolutions section.
|
||||||
|
|
||||||
|
commit 8eab313cdf0cdc53ea936c7a9dd716d1000e1c56
|
||||||
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
|
Date: Sun Mar 13 15:10:28 2011 +0200
|
||||||
|
|
||||||
|
Removed README note about minimal version.
|
||||||
|
|
||||||
|
b9a5a86a402832fe699e43b3030932b50ae821a0 restored code compatibility
|
||||||
|
with X server 1.4.
|
||||||
|
|
||||||
|
commit c465e19ff53db4be42dabcfafde510f79508c531
|
||||||
|
Author: Priit Laes <plaes@plaes.org>
|
||||||
|
Date: Sun Mar 13 03:40:53 2011 +0200
|
||||||
|
|
||||||
|
Add optional composite operation fallback tracing
|
||||||
|
|
||||||
|
Changing GEODE_TRACE_FALL to 1 allows to easily find the unaccelerated
|
||||||
|
code paths in a given use case while working on driver performance.
|
||||||
|
|
||||||
|
Signed-off-by: Priit Laes <plaes@plaes.org>
|
||||||
|
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
|
||||||
|
|
||||||
|
commit 4fd7500bb16b80ea9aee8dc61c5b11e9deb8281f
|
||||||
|
Author: Mart Raudsepp <leio@gentoo.org>
|
||||||
|
Date: Sat Mar 12 22:17:19 2011 +0200
|
||||||
|
|
||||||
|
Fix parameter ordering for calloc/xnfcalloc calls
|
||||||
|
|
||||||
|
First argument is the number of elements and second the size of one
|
||||||
|
element, not vice-versa.
|
||||||
|
|
||||||
|
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
|
||||||
|
|
||||||
commit 1a23956758d17a8b4c1d8acebf8acc94358c37b9
|
commit 1a23956758d17a8b4c1d8acebf8acc94358c37b9
|
||||||
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
Author: Martin-Éric Racine <martin-eric.racine@iki.fi>
|
||||||
Date: Sun Feb 13 21:52:55 2011 +0200
|
Date: Sun Feb 13 21:52:55 2011 +0200
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
SUBDIRS = src
|
SUBDIRS = src
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||||
EXTRA_DIST = autogen.sh
|
EXTRA_DIST = autogen.sh
|
||||||
|
|
||||||
|
@ -96,7 +96,6 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
|||||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
AMDEP_FALSE = @AMDEP_FALSE@
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
AMDEP_TRUE = @AMDEP_TRUE@
|
||||||
AMD_CFLAGS = @AMD_CFLAGS@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
APP_MAN_DIR = @APP_MAN_DIR@
|
APP_MAN_DIR = @APP_MAN_DIR@
|
||||||
@ -106,69 +105,70 @@ AUTOCONF = @AUTOCONF@
|
|||||||
AUTOHEADER = @AUTOHEADER@
|
AUTOHEADER = @AUTOHEADER@
|
||||||
AUTOMAKE = @AUTOMAKE@
|
AUTOMAKE = @AUTOMAKE@
|
||||||
AWK = @AWK@
|
AWK = @AWK@
|
||||||
|
BASE_CFLAGS = @BASE_CFLAGS@
|
||||||
|
BUILD_ZTV_FALSE = @BUILD_ZTV_FALSE@
|
||||||
|
BUILD_ZTV_TRUE = @BUILD_ZTV_TRUE@
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CCAS = @CCAS@
|
|
||||||
CCASFLAGS = @CCASFLAGS@
|
|
||||||
CCDEPMODE = @CCDEPMODE@
|
CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
CWARNFLAGS = @CWARNFLAGS@
|
CWARNFLAGS = @CWARNFLAGS@
|
||||||
CXX = @CXX@
|
|
||||||
CXXCPP = @CXXCPP@
|
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
|
||||||
CXXFLAGS = @CXXFLAGS@
|
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||||
DRIVER_NAME = @DRIVER_NAME@
|
|
||||||
DSYMUTIL = @DSYMUTIL@
|
DSYMUTIL = @DSYMUTIL@
|
||||||
ECHO = @ECHO@
|
DUMPBIN = @DUMPBIN@
|
||||||
ECHO_C = @ECHO_C@
|
ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
F77 = @F77@
|
FGREP = @FGREP@
|
||||||
FFLAGS = @FFLAGS@
|
|
||||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
|
|
||||||
HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
|
|
||||||
I386ARCH_FALSE = @I386ARCH_FALSE@
|
|
||||||
I386ARCH_TRUE = @I386ARCH_TRUE@
|
|
||||||
INSTALL_CMD = @INSTALL_CMD@
|
INSTALL_CMD = @INSTALL_CMD@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LD = @LD@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||||
|
LIPO = @LIPO@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
M32_CFLAGS = @M32_CFLAGS@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
MAN_SUBSTS = @MAN_SUBSTS@
|
MAN_SUBSTS = @MAN_SUBSTS@
|
||||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||||
|
NM = @NM@
|
||||||
NMEDIT = @NMEDIT@
|
NMEDIT = @NMEDIT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
OBJEXT = @OBJEXT@
|
OBJEXT = @OBJEXT@
|
||||||
|
OTOOL = @OTOOL@
|
||||||
|
OTOOL64 = @OTOOL64@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
PACKAGE_NAME = @PACKAGE_NAME@
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
PACKAGE_STRING = @PACKAGE_STRING@
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PANEL_CPPFLAGS = @PANEL_CPPFLAGS@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
||||||
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
||||||
@ -185,13 +185,11 @@ XEXT_LIBS = @XEXT_LIBS@
|
|||||||
XORG_CFLAGS = @XORG_CFLAGS@
|
XORG_CFLAGS = @XORG_CFLAGS@
|
||||||
XORG_LIBS = @XORG_LIBS@
|
XORG_LIBS = @XORG_LIBS@
|
||||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||||
|
ac_ct_AR = @ac_ct_AR@
|
||||||
ac_ct_CC = @ac_ct_CC@
|
ac_ct_CC = @ac_ct_CC@
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||||
ac_ct_F77 = @ac_ct_F77@
|
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__leading_dot = @am__leading_dot@
|
am__leading_dot = @am__leading_dot@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
|
@ -1,28 +1,21 @@
|
|||||||
xf86-video-geode -- AMD Geode GX and LX graphics driver for X.org
|
xf86-video-geode -- AMD Geode GX and LX graphics driver for X.org
|
||||||
=================================================================
|
=================================================================
|
||||||
README last updated: 2009-09-09
|
README last updated: 2011-11-24
|
||||||
|
|
||||||
GIT repository:
|
1.INTRODUCTION
|
||||||
git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode
|
|
||||||
|
|
||||||
Gitweb browser:
|
|
||||||
http://cgit.freedesktop.org/xorg/driver/xf86-video-geode
|
|
||||||
|
|
||||||
Project homepage:
|
|
||||||
http://www.x.org/wiki/GeodeDriver
|
|
||||||
|
|
||||||
= Introduction =
|
|
||||||
|
|
||||||
This is the X graphics driver for the AMD Geode GX and LX processors.
|
This is the X graphics driver for the AMD Geode GX and LX processors.
|
||||||
The GX driver features XAA and EXA support for graphics acceleration,
|
The GX component supports both XAA and EXA for graphics acceleration.
|
||||||
and the LX driver supports EXA (including compositing). Both drivers
|
The LX component supports EXA, including compositing. Both support Xv
|
||||||
support dynamic rotation with XRandR, and Xv overlay support.
|
overlay and dynamic rotation with XRandR. Additionally, a V4L2 driver
|
||||||
|
for the LX's video input port (VIP) feature is provided as "ztv".
|
||||||
|
|
||||||
= Roadmap =
|
2.DEPENDENCIES
|
||||||
|
|
||||||
Support for X servers older than 1.4 is expected to be dropped in the
|
Since version 2.9.0, this driver depends on X server 1.3 or greater,
|
||||||
near future. If your distribution still hasn't upgraded, please urge
|
because it utilizes the new common DDC probing libraries from X.Org.
|
||||||
them to get around it soon.
|
|
||||||
|
3.ROADMAP
|
||||||
|
|
||||||
Support for old GX1 Geodes by Cyrix and NSC will be reintroduced soon,
|
Support for old GX1 Geodes by Cyrix and NSC will be reintroduced soon,
|
||||||
at which point xf86-video-cyrix and xf86-video-nsc will be retired.
|
at which point xf86-video-cyrix and xf86-video-nsc will be retired.
|
||||||
@ -31,7 +24,7 @@ Until then, the current situation for Geode coverage is as follow:
|
|||||||
|
|
||||||
xf86-video-geode
|
xf86-video-geode
|
||||||
* Geode LX (a.k.a. GX3) PCI ID 0x1022:0x2081
|
* Geode LX (a.k.a. GX3) PCI ID 0x1022:0x2081
|
||||||
* Geode GX (a.k.a. GX2) PCI ID 0x100B:0x0030 (rebranded GX2)
|
* Geode GX (a.k.a. GX2) PCI ID 0x100B:0x0030 (re-branded GX2)
|
||||||
|
|
||||||
xf86-video-nsc
|
xf86-video-nsc
|
||||||
* Geode GX2 (a.k.a. GX2) PCI ID 0x100B:0x0030 (a.k.a. "Red Cloud")
|
* Geode GX2 (a.k.a. GX2) PCI ID 0x100B:0x0030 (a.k.a. "Red Cloud")
|
||||||
@ -44,50 +37,122 @@ xf86-video-cyrix
|
|||||||
Please note that both NSC and GEODE support GX2. This is indeed correct.
|
Please note that both NSC and GEODE support GX2. This is indeed correct.
|
||||||
However, only GEODE has up-to-date code, while NSC is deprecated.
|
However, only GEODE has up-to-date code, while NSC is deprecated.
|
||||||
|
|
||||||
= Dependencies =
|
4.MAXIMUM RESOLUTIONS
|
||||||
|
|
||||||
As of version 2.11.4, this driver depends upon X server 1.5 or newer,
|
The driver supports all maximum resolutions advertised by AMD, namely:
|
||||||
because the GX Randr code utilizes dixSetPrivate whose API was modified
|
|
||||||
in a non backward-compatible way.
|
|
||||||
|
|
||||||
#ifdef'ing the changes from f1268f3ba8404129d358db3bb1e66f3841f7018a
|
LX: 1920x1440 (CRT) and 1600x1200 (TFT)
|
||||||
and b28abde0276ddd7f687242f3886f98b0e49a7fc2 might make it possible
|
GX: 1600x1200 (CRT) and 1280x1024 (TFT)
|
||||||
to build this driver against older X servers. Patches are welcome.
|
SC: 1280x1024 (CRT/TFT) *** Currently unsupported by this driver ***
|
||||||
|
|
||||||
As of version 2.9.0, this driver depends on X server 1.3 or newer,
|
5.CONFIGURATION OPTIONS
|
||||||
because it utilizes the new common DDC probing libraries from X.Org.
|
|
||||||
|
|
||||||
If necessary, it might be possible to create autoconf macros to make
|
You can specify driver options in /etc/X11/xorg.conf in the usual fashion:
|
||||||
this driver compile against older X servers, following this example:
|
|
||||||
|
|
||||||
http://lists.freedesktop.org/archives/xorg-commit/2007-February/010341.html
|
Section "Device"
|
||||||
|
Identifier "AMD Geode"
|
||||||
|
Driver "geode"
|
||||||
|
Option "OptionName" "value"
|
||||||
|
...
|
||||||
|
EndSection
|
||||||
|
|
||||||
Patches accomplishing the same trick for the Geode driver are welcome.
|
The following options may be added to such a Device section:
|
||||||
|
|
||||||
= FAQ =
|
5.1.COMMON OPTIONS
|
||||||
|
|
||||||
Q: Why doesn't screen rotation work?
|
FBSize: Specify the size of the video space (in bytes)
|
||||||
|
NoAccel: Disable hardware assisted acceleration
|
||||||
|
NoCompression: Disable video bandwidth compression
|
||||||
|
NoPanel: Disable panel support
|
||||||
|
Rotate: Select an initial orientation - LEFT, INVERT, CCW
|
||||||
|
SWCursor: Enable software cursors (essentially disabling HW cursor support)
|
||||||
|
|
||||||
A: Make sure that a sufficient amount of video RAM is reserved in the BIOS,
|
5.2.GX-SPECIFIC OPTIONS
|
||||||
otherwise rotation will fail and this error message appear in Xorg.log:
|
|
||||||
Couldn't allocate the shadow memory for rotation
|
|
||||||
You need XX bytes, but only YY bytes are available
|
|
||||||
|
|
||||||
Q: Why doesn't this GEODE driver work at WXGA (wide screen) resolutions?
|
AccelMethod: "XAA" (default) or "EXA"
|
||||||
|
PanelGeometry: Specify the geometry of the attached panel ("<width>x<height>")
|
||||||
|
OSMImageBuffers: Set the number of image buffers (XAA only)
|
||||||
|
OSMColorExpBuffers: Set the number of color expansion buffers (XAA only)
|
||||||
|
|
||||||
|
5.3.LX-SPECIFIC OPTIONS
|
||||||
|
|
||||||
|
ExaScratch: Specify the amount of extra EXA scratch buffer (in bytes)
|
||||||
|
|
||||||
|
6.FREQUENTLY ASKED QUESTIONS (FAQ)
|
||||||
|
|
||||||
|
Q: Why doesn't the GEODE driver work at WXGA (wide screen) resolutions?
|
||||||
|
|
||||||
A: Make sure that TFT Panel support is disabled in the BIOS settings,
|
A: Make sure that TFT Panel support is disabled in the BIOS settings,
|
||||||
otherwise resolutions will be restricted to traditional VGA modes.
|
otherwise resolutions will be restricted to traditional VGA modes.
|
||||||
The GEODE offers a choice between CRT-only, CRT+TFT, TFT-only for
|
The GEODE offers a choice between CRT-only, CRT+TFT, TFT-only for
|
||||||
output device and selecting CRT-only removes the VGA restriction.
|
output device and selecting CRT-only removes the VGA restriction.
|
||||||
|
|
||||||
Q: How do I produce useful information whenever submiting a bug report?
|
Q: How can these hardcoded modes be expanded to support a WXGA laptop?
|
||||||
|
|
||||||
|
A: By adding the desired modes to /etc/X11/xorg.conf as follow:
|
||||||
|
|
||||||
|
1) Use either the "cvt" or "gtf" command to determine the modeline:
|
||||||
|
|
||||||
|
cvt 1024 600 60
|
||||||
|
|
||||||
|
Where 1024x600 is the resolution and 60 the refresh rate.
|
||||||
|
The resulting modeline using "gtf" is:
|
||||||
|
|
||||||
|
Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -hsync +vsync
|
||||||
|
|
||||||
|
2) Add it to the bottom of the "Monitor" section in /etc/X11/xorg.conf.
|
||||||
|
In this example, we created entries for two modes and configured the
|
||||||
|
larger resolution to be our preferred choice.
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
# /etc/X11/xorg.conf for 1024x600 and 800x480 laptop panels #
|
||||||
|
#############################################################
|
||||||
|
#### By J.KASPER and B.HIBRY #### for Hercules eCafe 800 ####
|
||||||
|
#############################################################
|
||||||
|
Section "Module"
|
||||||
|
Load "ztv"
|
||||||
|
EndSection
|
||||||
|
Section "Device"
|
||||||
|
Identifier "card0"
|
||||||
|
Driver "geode"
|
||||||
|
BusID "PCI:0:1:1"
|
||||||
|
Option "PanelMode" "33450 800 840 968 1056 480 490 492 525"
|
||||||
|
EndSection
|
||||||
|
Section "Monitor"
|
||||||
|
Identifier "monitor0"
|
||||||
|
Modeline "1024x768" 64.56 1024 1056 1296 1328 768 783 791 807 -hsync +vsync
|
||||||
|
Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -hsync +vsync
|
||||||
|
Modeline "800x480" 33.45 800 840 968 1056 480 490 492 525 -hsync +vsync
|
||||||
|
Option "dpms"
|
||||||
|
EndSection
|
||||||
|
Section "Screen"
|
||||||
|
Identifier "Default Screen"
|
||||||
|
Monitor "monitor0"
|
||||||
|
Device "card0"
|
||||||
|
DefaultDepth 24
|
||||||
|
Subsection "Display"
|
||||||
|
Depth 24
|
||||||
|
Modes "1024x600" "1024x768" "800x480"
|
||||||
|
EndSubsection
|
||||||
|
EndSection
|
||||||
|
### EOF ###
|
||||||
|
|
||||||
|
Q: Why doesn't screen rotation work?
|
||||||
|
|
||||||
|
A: Make sure that a sufficient amount of video RAM is reserved in the BIOS,
|
||||||
|
otherwise rotation will fail and this error message appear in Xorg.log:
|
||||||
|
|
||||||
|
Couldn't allocate the shadow memory for rotation
|
||||||
|
You need XX bytes, but only YY bytes are available
|
||||||
|
|
||||||
|
Q: How do I produce useful information whenever submitting a bug report?
|
||||||
|
|
||||||
A: See http://www.x.org/wiki/Development/Documentation/ServerDebugging
|
A: See http://www.x.org/wiki/Development/Documentation/ServerDebugging
|
||||||
and follow the instructions.
|
and follow the instructions found there.
|
||||||
|
|
||||||
Q: How do I test development snapshots from the upstream GIT repository?
|
Q: How do I test development snapshots from the upstream GIT repository?
|
||||||
|
|
||||||
A: Run the following commands from a command line interpreter shell...
|
A: Run the following commands from a command line interpreter shell:
|
||||||
1. git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode
|
1. git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode
|
||||||
2. Debian/Ubuntu: apt-get install autoconf automake libtool xutils-dev
|
2. Debian/Ubuntu: apt-get install autoconf automake libtool xutils-dev
|
||||||
apt-get install build-dep xserver-xorg-video-geode
|
apt-get install build-dep xserver-xorg-video-geode
|
||||||
@ -101,40 +166,27 @@ A: Run the following commands from a command line interpreter shell...
|
|||||||
Q: What is the preferred method for submitting patches to this driver?
|
Q: What is the preferred method for submitting patches to this driver?
|
||||||
|
|
||||||
A: See http://www.x.org/wiki/Development/Documentation/SubmittingPatches
|
A: See http://www.x.org/wiki/Development/Documentation/SubmittingPatches
|
||||||
and submit the patches as attachments to the Geode X.org mailing list
|
and submit the patches to the Geode X.org mailing list or to Bugzilla
|
||||||
or to the X.org Bugzilla against component "Driver/geode".
|
against product "xorg" component "Driver/geode".
|
||||||
|
|
||||||
= Configuration options =
|
7.PROJECT CONTACTS
|
||||||
|
|
||||||
You can specify the Geode driver in the normal fashion:
|
Project homepage:
|
||||||
|
http://www.x.org/wiki/GeodeDriver
|
||||||
|
|
||||||
Section "Device"
|
Mailing list:
|
||||||
Identifier "AMD Geode"
|
http://lists.freedesktop.org/mailman/listinfo/xorg-driver-geode
|
||||||
Driver "geode"
|
|
||||||
Option "blah" "blah"
|
|
||||||
...
|
|
||||||
EndSection
|
|
||||||
|
|
||||||
The following options may be added to the section:
|
Bug reports:
|
||||||
|
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode
|
||||||
|
|
||||||
== Common options ==
|
Code browser:
|
||||||
|
http://cgit.freedesktop.org/xorg/driver/xf86-video-geode
|
||||||
|
|
||||||
FBSize: Specify the size of the video space (in bytes)
|
Code repository:
|
||||||
NoAccel: Disable hardware assisted acceleration
|
git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode
|
||||||
NoCompression: Disable video bandwidth compression
|
|
||||||
NoPanel: Disable panel support
|
|
||||||
Rotate: Select a orientation to start with - LEFT, INVERT, CCW
|
|
||||||
SWCursor: Enable software cursors (essentially disabling HW cursor support)
|
|
||||||
|
|
||||||
== GX-specific options ==
|
IRC channel:
|
||||||
|
#geode on the Freenode network.
|
||||||
|
|
||||||
AccelMethod: "XAA" (default) or "EXA"
|
.EOF.
|
||||||
PanelGeometry: Specify the geometry of the attached panel ("<width>x<height>")
|
|
||||||
OSMImageBuffers: Set the number of image buffers (XAA only)
|
|
||||||
OSMColorExpBuffers: Set the number of color expansion buffers (XAA only)
|
|
||||||
|
|
||||||
== LX-specific options ==
|
|
||||||
|
|
||||||
ExaScratch: Specify the amount of extra EXA scratch buffer (in bytes)
|
|
||||||
|
|
||||||
= EOF =
|
|
||||||
|
10224
driver/xf86-video-geode/aclocal.m4
vendored
10224
driver/xf86-video-geode/aclocal.m4
vendored
File diff suppressed because it is too large
Load Diff
@ -2,24 +2,15 @@
|
|||||||
|
|
||||||
#include "xorg-server.h"
|
#include "xorg-server.h"
|
||||||
|
|
||||||
/* Define to 1 if you have the declaration of `amd64', and to 0 if you don't.
|
|
||||||
*/
|
|
||||||
#undef HAVE_DECL_AMD64
|
|
||||||
|
|
||||||
/* Define to 1 if you have the declaration of `_LP64', and to 0 if you don't.
|
|
||||||
*/
|
|
||||||
#undef HAVE_DECL__LP64
|
|
||||||
|
|
||||||
/* Define to 1 if you have the declaration of `__amd64__', and to 0 if you
|
|
||||||
don't. */
|
|
||||||
#undef HAVE_DECL___AMD64__
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
#undef HAVE_DLFCN_H
|
#undef HAVE_DLFCN_H
|
||||||
|
|
||||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
#undef HAVE_INTTYPES_H
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <linux/videodev2.h> header file. */
|
||||||
|
#undef HAVE_LINUX_VIDEODEV2_H
|
||||||
|
|
||||||
/* Define to 1 if you have the <memory.h> header file. */
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
#undef HAVE_MEMORY_H
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
@ -47,6 +38,10 @@
|
|||||||
/* xextproto 7.1 available */
|
/* xextproto 7.1 available */
|
||||||
#undef HAVE_XEXTPROTO_71
|
#undef HAVE_XEXTPROTO_71
|
||||||
|
|
||||||
|
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||||
|
*/
|
||||||
|
#undef LT_OBJDIR
|
||||||
|
|
||||||
/* Name of package */
|
/* Name of package */
|
||||||
#undef PACKAGE
|
#undef PACKAGE
|
||||||
|
|
||||||
|
30904
driver/xf86-video-geode/configure
vendored
30904
driver/xf86-video-geode/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -20,81 +20,115 @@
|
|||||||
#
|
#
|
||||||
# Process this file with autoconf to produce a configure script
|
# Process this file with autoconf to produce a configure script
|
||||||
|
|
||||||
|
# Initialize Autoconf
|
||||||
AC_PREREQ(2.59)
|
AC_PREREQ(2.59)
|
||||||
AC_INIT([xf86-video-geode],
|
AC_INIT([xf86-video-geode],
|
||||||
[2.11.12],
|
[2.11.13],
|
||||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode],
|
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode],
|
||||||
[xf86-video-geode],
|
[xf86-video-geode],
|
||||||
[http://www.x.org/wiki/GeodeDriver])
|
[http://www.x.org/wiki/GeodeDriver])
|
||||||
|
|
||||||
AC_CONFIG_SRCDIR([Makefile.am])
|
AC_CONFIG_SRCDIR([Makefile.am])
|
||||||
AM_CONFIG_HEADER([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_AUX_DIR(.)
|
AC_CONFIG_AUX_DIR(.)
|
||||||
|
|
||||||
|
# Initialize Automake
|
||||||
|
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
# Initialize libtool
|
||||||
|
AC_DISABLE_STATIC
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
|
||||||
# Require xorg-macros: XORG_DEFAULT_OPTIONS
|
# Require xorg-macros: XORG_DEFAULT_OPTIONS
|
||||||
m4_ifndef([XORG_MACROS_VERSION],
|
m4_ifndef([XORG_MACROS_VERSION],
|
||||||
[m4_fatal([must install xorg-macros 1.4 or later before running autoconf/autogen])])
|
[m4_fatal([must install xorg-macros 1.4 or later before running autoconf/autogen])])
|
||||||
XORG_MACROS_VERSION(1.4)
|
XORG_MACROS_VERSION(1.4)
|
||||||
XORG_DEFAULT_OPTIONS
|
XORG_DEFAULT_OPTIONS
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
|
||||||
|
|
||||||
AM_MAINTAINER_MODE
|
|
||||||
|
|
||||||
# Checks for programs.
|
# Checks for programs.
|
||||||
AC_DISABLE_STATIC
|
AC_DISABLE_STATIC
|
||||||
AC_PROG_LIBTOOL
|
AC_PROG_LIBTOOL
|
||||||
AC_PROG_CC
|
|
||||||
AM_PROG_AS
|
|
||||||
|
|
||||||
AH_TOP([#include "xorg-server.h"])
|
AH_TOP([#include "xorg-server.h"])
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Configuration options
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Define a configure option for an alternate input module directory
|
||||||
AC_ARG_WITH(xorg-module-dir,
|
AC_ARG_WITH(xorg-module-dir,
|
||||||
AC_HELP_STRING([--with-xorg-module-dir=DIR],
|
AS_HELP_STRING([--with-xorg-module-dir=DIR],
|
||||||
[Default xorg module directory [[default=$libdir/xorg/modules]]]),
|
[Default xorg module directory [[default=$libdir/xorg/modules]]]),
|
||||||
[moduledir="$withval"],
|
[moduledir="$withval"],
|
||||||
[moduledir="$libdir/xorg/modules"])
|
[moduledir="$libdir/xorg/modules"])
|
||||||
|
AC_SUBST([moduledir])
|
||||||
|
|
||||||
|
# Define a configure option to enable/disable lcd panel support
|
||||||
AC_ARG_ENABLE(geodegx-panel,
|
AC_ARG_ENABLE(geodegx-panel,
|
||||||
AC_HELP_STRING([--disable-geodegx-panel],
|
AS_HELP_STRING([--disable-geodegx-panel],
|
||||||
[Disable support for flatpanels with the Geode GX]),
|
[Disable support for flatpanels with the Geode GX]),
|
||||||
[ ],
|
[ ],
|
||||||
[ AMD_CFLAGS="-DPNL_SUP $AMD_CFLAGS" ])
|
[ PANEL_CPPFLAGS=-DPNL_SUP ])
|
||||||
|
AC_SUBST(PANEL_CPPFLAGS)
|
||||||
|
|
||||||
AC_ARG_ENABLE(werror, AC_HELP_STRING([--enable-werror],
|
# Define a configure option to enable/disable ztv
|
||||||
[Treat warnings as errors (default: disabled)]),
|
AC_ARG_ENABLE(ztv,
|
||||||
[WERROR=$enableval], [WERROR=no])
|
AS_HELP_STRING([--enable-ztv],
|
||||||
AC_ARG_ENABLE(visibility,
|
[Enable Video For Linux based ZTV driver (default: auto-detected)]),
|
||||||
AC_HELP_STRING([--enable-visibility],
|
[ztv=$enableval],
|
||||||
[Enable GCC visibility optimizations]),
|
[ztv=auto])
|
||||||
[ AMD_CFLAGS="$AMD_CFLAGS -fvisibility=hidden" ],
|
|
||||||
[ : ])
|
|
||||||
|
|
||||||
if test "x$GCC" = "xyes"; then
|
# Check for Video4Linux Version 2 (V4L2) availability
|
||||||
GCC_WARNINGS1="-Wall -Wpointer-arith -Wstrict-prototypes"
|
AC_CHECK_HEADERS([linux/videodev2.h],[v4l2=yes],[v4l2=no])
|
||||||
GCC_WARNINGS2="-Wmissing-prototypes -Wmissing-declarations"
|
if test "x$ztv" != "xno" ; then
|
||||||
GCC_WARNINGS3="-Wnested-externs -fno-strict-aliasing"
|
if test "x$v4l2" = "xno" ; then
|
||||||
GCC_WARNINGS="$GCC_WARNINGS1 $GCC_WARNINGS2 $GCC_WARNINGS3"
|
if test "x$ztv" = "xyes" ; then
|
||||||
if test "x$WERROR" = "xyes"; then
|
# User really wants ztv but V4L2 is not found
|
||||||
GCC_WARNINGS="${GCC_WARNINGS} -Werror"
|
AC_MSG_ERROR([ZTV driver requested, but videodev2.h not found.])
|
||||||
fi
|
fi
|
||||||
AMD_CFLAGS="$GCC_WARNINGS $AMD_CFLAGS"
|
else
|
||||||
|
BUILD_ZTV=yes
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
AM_CONDITIONAL(BUILD_ZTV, [test "x$BUILD_ZTV" = xyes])
|
||||||
|
|
||||||
# Checks for extensions
|
# Check if GCC supports compiling in 32 bit mode for 64 bit computers
|
||||||
|
case $host_cpu in
|
||||||
|
x86_64*|amd64*)
|
||||||
|
if test "x$GCC" = xyes ; then
|
||||||
|
SAVE_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -m32"
|
||||||
|
AC_MSG_CHECKING([if $CC supports the -m32 Intel/AMD option])
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
#include <unistd.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}]])],
|
||||||
|
[m32_support=yes; M32_CFLAGS=-m32],
|
||||||
|
[m32_support=no])
|
||||||
|
AC_MSG_RESULT([$m32_support])
|
||||||
|
CFLAGS="$SAVE_CFLAGS"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_SUBST([M32_CFLAGS])
|
||||||
|
|
||||||
|
# Store the list of server defined optional extensions in REQUIRED_MODULES
|
||||||
XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
|
XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
|
||||||
XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
|
XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
|
||||||
XORG_DRIVER_CHECK_EXT(XV, videoproto)
|
XORG_DRIVER_CHECK_EXT(XV, videoproto)
|
||||||
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
|
XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
|
||||||
|
|
||||||
# Checks for pkg-config packages
|
# Obtain compiler/linker options for the Geode driver dependencies
|
||||||
PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
|
PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
|
||||||
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
|
PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
|
||||||
HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
|
HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
|
||||||
HAVE_XEXTPROTO_71="no")
|
HAVE_XEXTPROTO_71="no")
|
||||||
AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
|
|
||||||
|
|
||||||
# Checks for libraries.
|
# Checks for libpciaccess support.
|
||||||
SAVE_CPPFLAGS="$CPPFLAGS"
|
SAVE_CPPFLAGS="$CPPFLAGS"
|
||||||
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
|
||||||
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
|
AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
|
||||||
@ -102,37 +136,13 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
|
|||||||
[#include "xorg-server.h"])
|
[#include "xorg-server.h"])
|
||||||
CPPFLAGS="$SAVE_CPPFLAGS"
|
CPPFLAGS="$SAVE_CPPFLAGS"
|
||||||
|
|
||||||
# Checks for header files.
|
|
||||||
AC_HEADER_STDC
|
|
||||||
|
|
||||||
if test "x$XSERVER_LIBPCIACCESS" = xyes; then
|
if test "x$XSERVER_LIBPCIACCESS" = xyes; then
|
||||||
PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
|
PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
|
||||||
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
|
XORG_CFLAGS="$XORG_CFLAGS $PCIACCESS_CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST([XORG_CFLAGS])
|
AC_CONFIG_FILES([
|
||||||
AC_SUBST([moduledir])
|
|
||||||
AC_SUBST([AMD_CFLAGS])
|
|
||||||
|
|
||||||
is386=false
|
|
||||||
|
|
||||||
case $host_cpu in
|
|
||||||
i*86)
|
|
||||||
is386=true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Unset is386 if compiling for AMD64/EM64T
|
|
||||||
if test $is386 = true ; then
|
|
||||||
AC_CHECK_DECLS([_LP64, __amd64__, amd64], [is386=false])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL([I386ARCH], [test $is386 = true])
|
|
||||||
|
|
||||||
DRIVER_NAME=geode
|
|
||||||
AC_SUBST([DRIVER_NAME])
|
|
||||||
|
|
||||||
AC_OUTPUT([
|
|
||||||
Makefile
|
Makefile
|
||||||
src/Makefile
|
src/Makefile
|
||||||
])
|
])
|
||||||
|
AC_OUTPUT
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -24,123 +24,121 @@
|
|||||||
# _ladir passes a dummy rpath to libtool so the thing will actually link
|
# _ladir passes a dummy rpath to libtool so the thing will actually link
|
||||||
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
|
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/cim \
|
-I$(top_srcdir)/src/cim \
|
||||||
-I$(top_srcdir)/src/gfx \
|
-I$(top_srcdir)/src/gfx \
|
||||||
-I$(top_srcdir)/src/panel \
|
-I$(top_srcdir)/src/panel \
|
||||||
-I$(top_srcdir)/linux_v26
|
$(PANEL_CPPFLAGS) \
|
||||||
|
-DHAVE_GX \
|
||||||
|
-DHAVE_LX \
|
||||||
|
-DOPT_ACCEL
|
||||||
|
|
||||||
# -DPNL_SUP is now provided by AMD_CFLAGS
|
AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) $(M32_CFLAGS)
|
||||||
#
|
|
||||||
AM_CFLAGS = @XORG_CFLAGS@ \
|
|
||||||
-DHAVE_GX -DHAVE_LX -DOPT_ACCEL \
|
|
||||||
-DLINUX_2_6 @AMD_CFLAGS@
|
|
||||||
|
|
||||||
AM_CCASFLAGS = @XORG_CFLAGS@
|
|
||||||
geode_drv_la_LTLIBRARIES = geode_drv.la
|
geode_drv_la_LTLIBRARIES = geode_drv.la
|
||||||
geode_drv_la_LDFLAGS = -module -avoid-version
|
geode_drv_la_LDFLAGS = -module -avoid-version
|
||||||
geode_drv_ladir = @moduledir@/drivers
|
geode_drv_ladir = $(moduledir)/drivers
|
||||||
|
|
||||||
geode_drv_la_SOURCES = \
|
geode_drv_la_SOURCES = \
|
||||||
geode.h \
|
cimarron.c \
|
||||||
geode_blend.h \
|
cim_dev.h \
|
||||||
geode_fourcc.h \
|
durango.c \
|
||||||
cim_dev.h \
|
geode_blend.h \
|
||||||
geode_driver.c \
|
geode_common.c \
|
||||||
geode_common.c \
|
geode_dcon.c \
|
||||||
geode_dcon.c \
|
geode_ddc.c \
|
||||||
geode_ddc.c \
|
geode_driver.c \
|
||||||
geode_msr.c \
|
geode_fourcc.h \
|
||||||
gx_driver.c\
|
geode.h \
|
||||||
gx_accel.c \
|
geode_msr.c \
|
||||||
gx_cursor.c \
|
geode_pcirename.h \
|
||||||
gx_video.c \
|
gx_accel.c \
|
||||||
gx_regacc.c \
|
gx_cursor.c \
|
||||||
gx_rotate.c \
|
gx_driver.c \
|
||||||
gx_randr.c \
|
gx_randr.c \
|
||||||
durango.c \
|
gx_regacc.c \
|
||||||
panel.c \
|
gx_rotate.c \
|
||||||
lx_driver.c \
|
gx_video.c \
|
||||||
lx_cursor.c \
|
lx_cursor.c \
|
||||||
lx_memory.c \
|
lx_display.c \
|
||||||
lx_panel.c \
|
lx_driver.c \
|
||||||
lx_output.c \
|
lx_exa.c \
|
||||||
lx_display.c \
|
lx_memory.c \
|
||||||
lx_video.c \
|
lx_output.c \
|
||||||
lx_exa.c \
|
lx_panel.c \
|
||||||
cimarron.c \
|
lx_video.c \
|
||||||
geode_pcirename.h
|
panel.c
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
cim/cim_defs.h \
|
cim/cim_defs.h \
|
||||||
cim/cim_df.c \
|
cim/cim_df.c \
|
||||||
cim/cim_filter.c \
|
cim/cim_filter.c \
|
||||||
cim/cim_gp.c \
|
cim/cim_gp.c \
|
||||||
cim/cim_init.c \
|
cim/cim_init.c \
|
||||||
cim/cim_modes.c \
|
cim/cim_modes.c \
|
||||||
cim/cim_msr.c \
|
cim/cim_msr.c \
|
||||||
cim/cim_parm.h \
|
cim/cim_parm.h \
|
||||||
cim/cim_regs.h \
|
cim/cim_regs.h \
|
||||||
cim/cim_rtns.h \
|
cim/cim_rtns.h \
|
||||||
cim/cim_version.h \
|
cim/cim_version.h \
|
||||||
cim/cim_vg.c \
|
cim/cim_vg.c \
|
||||||
cim/cim_vip.c \
|
cim/cim_vip.c \
|
||||||
cim/cim_vop.c \
|
cim/cim_vop.c \
|
||||||
cim/doc/release.txt \
|
cim/doc/release.txt \
|
||||||
\
|
\
|
||||||
gfx/disp_gu1.c \
|
gfx/disp_gu1.c \
|
||||||
gfx/disp_gu2.c \
|
gfx/disp_gu2.c \
|
||||||
gfx/gfx_dcdr.c \
|
gfx/gfx_dcdr.c \
|
||||||
gfx/gfx_defs.h \
|
gfx/gfx_defs.h \
|
||||||
gfx/gfx_disp.c \
|
gfx/gfx_disp.c \
|
||||||
gfx/gfx_i2c.c \
|
gfx/gfx_i2c.c \
|
||||||
gfx/gfx_init.c \
|
gfx/gfx_init.c \
|
||||||
gfx/gfx_mode.h \
|
gfx/gfx_mode.h \
|
||||||
gfx/gfx_msr.c \
|
gfx/gfx_msr.c \
|
||||||
gfx/gfx_priv.h \
|
gfx/gfx_priv.h \
|
||||||
gfx/gfx_regs.h \
|
gfx/gfx_regs.h \
|
||||||
gfx/gfx_rndr.c \
|
gfx/gfx_rndr.c \
|
||||||
gfx/gfx_rtns.h \
|
gfx/gfx_rtns.h \
|
||||||
gfx/gfx_tv.c \
|
gfx/gfx_tv.c \
|
||||||
gfx/gfx_type.h \
|
gfx/gfx_type.h \
|
||||||
gfx/gfx_vga.c \
|
gfx/gfx_vga.c \
|
||||||
gfx/gfx_vid.c \
|
gfx/gfx_vid.c \
|
||||||
gfx/gfx_vip.c \
|
gfx/gfx_vip.c \
|
||||||
gfx/history.h \
|
gfx/history.h \
|
||||||
gfx/i2c_acc.c \
|
gfx/i2c_acc.c \
|
||||||
gfx/i2c_gpio.c \
|
gfx/i2c_gpio.c \
|
||||||
gfx/init_gu1.c \
|
gfx/init_gu1.c \
|
||||||
gfx/init_gu2.c \
|
gfx/init_gu2.c \
|
||||||
gfx/msr_rdcl.c \
|
gfx/msr_rdcl.c \
|
||||||
gfx/release.txt \
|
gfx/release.txt \
|
||||||
gfx/rndr_gu1.c \
|
gfx/rndr_gu1.c \
|
||||||
gfx/rndr_gu2.c \
|
gfx/rndr_gu2.c \
|
||||||
gfx/saa7114.c \
|
gfx/saa7114.c \
|
||||||
gfx/tv_1200.c \
|
gfx/tv_1200.c \
|
||||||
gfx/tv_fs450.c \
|
gfx/tv_fs450.c \
|
||||||
gfx/tv_fs450.h \
|
gfx/tv_fs450.h \
|
||||||
gfx/vga_gu1.c \
|
gfx/vga_gu1.c \
|
||||||
gfx/vid_1200.c \
|
gfx/vid_1200.c \
|
||||||
gfx/vid_5530.c \
|
gfx/vid_5530.c \
|
||||||
gfx/vid_rdcl.c \
|
gfx/vid_rdcl.c \
|
||||||
gfx/vip_1200.c \
|
gfx/vip_1200.c \
|
||||||
\
|
\
|
||||||
panel/92xx.h \
|
panel/92xx.h \
|
||||||
panel/cen9211.c \
|
panel/cen9211.c \
|
||||||
panel/cen9211.h \
|
panel/cen9211.h \
|
||||||
panel/dora9211.c \
|
panel/dora9211.c \
|
||||||
panel/dora9211.h \
|
panel/dora9211.h \
|
||||||
panel/drac9210.c \
|
panel/drac9210.c \
|
||||||
panel/drac9210.h \
|
panel/drac9210.h \
|
||||||
panel/gx2_9211.c \
|
panel/gx2_9211.c \
|
||||||
panel/gx2_9211.h \
|
panel/gx2_9211.h \
|
||||||
panel/panel.c \
|
panel/panel.c \
|
||||||
panel/panel.h \
|
panel/panel.h \
|
||||||
panel/platform.c \
|
panel/platform.c \
|
||||||
panel/pnl_bios.c \
|
panel/pnl_bios.c \
|
||||||
panel/pnl_defs.h \
|
panel/pnl_defs.h \
|
||||||
panel/pnl_init.c \
|
panel/pnl_init.c \
|
||||||
panel/readme.txt \
|
panel/readme.txt \
|
||||||
\
|
\
|
||||||
gx_vga.c \
|
gx_vga.c \
|
||||||
lx_vga.c
|
lx_vga.c
|
||||||
|
@ -81,12 +81,12 @@ am__installdirs = "$(DESTDIR)$(geode_drv_ladir)"
|
|||||||
geode_drv_laLTLIBRARIES_INSTALL = $(INSTALL)
|
geode_drv_laLTLIBRARIES_INSTALL = $(INSTALL)
|
||||||
LTLIBRARIES = $(geode_drv_la_LTLIBRARIES)
|
LTLIBRARIES = $(geode_drv_la_LTLIBRARIES)
|
||||||
geode_drv_la_LIBADD =
|
geode_drv_la_LIBADD =
|
||||||
am_geode_drv_la_OBJECTS = geode_driver.lo geode_common.lo \
|
am_geode_drv_la_OBJECTS = cimarron.lo durango.lo geode_common.lo \
|
||||||
geode_dcon.lo geode_ddc.lo geode_msr.lo gx_driver.lo \
|
geode_dcon.lo geode_ddc.lo geode_driver.lo geode_msr.lo \
|
||||||
gx_accel.lo gx_cursor.lo gx_video.lo gx_regacc.lo gx_rotate.lo \
|
gx_accel.lo gx_cursor.lo gx_driver.lo gx_randr.lo gx_regacc.lo \
|
||||||
gx_randr.lo durango.lo panel.lo lx_driver.lo lx_cursor.lo \
|
gx_rotate.lo gx_video.lo lx_cursor.lo lx_display.lo \
|
||||||
lx_memory.lo lx_panel.lo lx_output.lo lx_display.lo \
|
lx_driver.lo lx_exa.lo lx_memory.lo lx_output.lo lx_panel.lo \
|
||||||
lx_video.lo lx_exa.lo cimarron.lo
|
lx_video.lo panel.lo
|
||||||
geode_drv_la_OBJECTS = $(am_geode_drv_la_OBJECTS)
|
geode_drv_la_OBJECTS = $(am_geode_drv_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
@ -109,7 +109,6 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
|
|||||||
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
AMDEP_FALSE = @AMDEP_FALSE@
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
AMDEP_TRUE = @AMDEP_TRUE@
|
||||||
AMD_CFLAGS = @AMD_CFLAGS@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
APP_MAN_DIR = @APP_MAN_DIR@
|
APP_MAN_DIR = @APP_MAN_DIR@
|
||||||
@ -119,69 +118,70 @@ AUTOCONF = @AUTOCONF@
|
|||||||
AUTOHEADER = @AUTOHEADER@
|
AUTOHEADER = @AUTOHEADER@
|
||||||
AUTOMAKE = @AUTOMAKE@
|
AUTOMAKE = @AUTOMAKE@
|
||||||
AWK = @AWK@
|
AWK = @AWK@
|
||||||
|
BASE_CFLAGS = @BASE_CFLAGS@
|
||||||
|
BUILD_ZTV_FALSE = @BUILD_ZTV_FALSE@
|
||||||
|
BUILD_ZTV_TRUE = @BUILD_ZTV_TRUE@
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CCAS = @CCAS@
|
|
||||||
CCASFLAGS = @CCASFLAGS@
|
|
||||||
CCDEPMODE = @CCDEPMODE@
|
CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CHANGELOG_CMD = @CHANGELOG_CMD@
|
CHANGELOG_CMD = @CHANGELOG_CMD@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
CWARNFLAGS = @CWARNFLAGS@
|
CWARNFLAGS = @CWARNFLAGS@
|
||||||
CXX = @CXX@
|
|
||||||
CXXCPP = @CXXCPP@
|
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
|
||||||
CXXFLAGS = @CXXFLAGS@
|
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
|
||||||
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
|
||||||
DRIVER_NAME = @DRIVER_NAME@
|
|
||||||
DSYMUTIL = @DSYMUTIL@
|
DSYMUTIL = @DSYMUTIL@
|
||||||
ECHO = @ECHO@
|
DUMPBIN = @DUMPBIN@
|
||||||
ECHO_C = @ECHO_C@
|
ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
F77 = @F77@
|
FGREP = @FGREP@
|
||||||
FFLAGS = @FFLAGS@
|
|
||||||
FILE_MAN_DIR = @FILE_MAN_DIR@
|
FILE_MAN_DIR = @FILE_MAN_DIR@
|
||||||
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
HAVE_XEXTPROTO_71_FALSE = @HAVE_XEXTPROTO_71_FALSE@
|
|
||||||
HAVE_XEXTPROTO_71_TRUE = @HAVE_XEXTPROTO_71_TRUE@
|
|
||||||
I386ARCH_FALSE = @I386ARCH_FALSE@
|
|
||||||
I386ARCH_TRUE = @I386ARCH_TRUE@
|
|
||||||
INSTALL_CMD = @INSTALL_CMD@
|
INSTALL_CMD = @INSTALL_CMD@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LD = @LD@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
LIBTOOL = @LIBTOOL@
|
LIBTOOL = @LIBTOOL@
|
||||||
LIB_MAN_DIR = @LIB_MAN_DIR@
|
LIB_MAN_DIR = @LIB_MAN_DIR@
|
||||||
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
|
||||||
|
LIPO = @LIPO@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
M32_CFLAGS = @M32_CFLAGS@
|
||||||
MAINT = @MAINT@
|
MAINT = @MAINT@
|
||||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
MAN_SUBSTS = @MAN_SUBSTS@
|
MAN_SUBSTS = @MAN_SUBSTS@
|
||||||
MISC_MAN_DIR = @MISC_MAN_DIR@
|
MISC_MAN_DIR = @MISC_MAN_DIR@
|
||||||
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
|
||||||
|
NM = @NM@
|
||||||
NMEDIT = @NMEDIT@
|
NMEDIT = @NMEDIT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
OBJEXT = @OBJEXT@
|
OBJEXT = @OBJEXT@
|
||||||
|
OTOOL = @OTOOL@
|
||||||
|
OTOOL64 = @OTOOL64@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
PACKAGE_NAME = @PACKAGE_NAME@
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
PACKAGE_STRING = @PACKAGE_STRING@
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PANEL_CPPFLAGS = @PANEL_CPPFLAGS@
|
||||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@
|
||||||
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
PCIACCESS_LIBS = @PCIACCESS_LIBS@
|
||||||
@ -198,13 +198,11 @@ XEXT_LIBS = @XEXT_LIBS@
|
|||||||
XORG_CFLAGS = @XORG_CFLAGS@
|
XORG_CFLAGS = @XORG_CFLAGS@
|
||||||
XORG_LIBS = @XORG_LIBS@
|
XORG_LIBS = @XORG_LIBS@
|
||||||
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
XORG_MAN_PAGE = @XORG_MAN_PAGE@
|
||||||
|
ac_ct_AR = @ac_ct_AR@
|
||||||
ac_ct_CC = @ac_ct_CC@
|
ac_ct_CC = @ac_ct_CC@
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||||
ac_ct_F77 = @ac_ct_F77@
|
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__leading_dot = @am__leading_dot@
|
am__leading_dot = @am__leading_dot@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
@ -247,124 +245,120 @@ sharedstatedir = @sharedstatedir@
|
|||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/cim \
|
-I$(top_srcdir)/src/cim \
|
||||||
-I$(top_srcdir)/src/gfx \
|
-I$(top_srcdir)/src/gfx \
|
||||||
-I$(top_srcdir)/src/panel \
|
-I$(top_srcdir)/src/panel \
|
||||||
-I$(top_srcdir)/linux_v26
|
$(PANEL_CPPFLAGS) \
|
||||||
|
-DHAVE_GX \
|
||||||
|
-DHAVE_LX \
|
||||||
|
-DOPT_ACCEL
|
||||||
|
|
||||||
|
AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) $(M32_CFLAGS)
|
||||||
# -DPNL_SUP is now provided by AMD_CFLAGS
|
|
||||||
#
|
|
||||||
AM_CFLAGS = @XORG_CFLAGS@ \
|
|
||||||
-DHAVE_GX -DHAVE_LX -DOPT_ACCEL \
|
|
||||||
-DLINUX_2_6 @AMD_CFLAGS@
|
|
||||||
|
|
||||||
AM_CCASFLAGS = @XORG_CFLAGS@
|
|
||||||
geode_drv_la_LTLIBRARIES = geode_drv.la
|
geode_drv_la_LTLIBRARIES = geode_drv.la
|
||||||
geode_drv_la_LDFLAGS = -module -avoid-version
|
geode_drv_la_LDFLAGS = -module -avoid-version
|
||||||
geode_drv_ladir = @moduledir@/drivers
|
geode_drv_ladir = $(moduledir)/drivers
|
||||||
geode_drv_la_SOURCES = \
|
geode_drv_la_SOURCES = \
|
||||||
geode.h \
|
cimarron.c \
|
||||||
geode_blend.h \
|
cim_dev.h \
|
||||||
geode_fourcc.h \
|
durango.c \
|
||||||
cim_dev.h \
|
geode_blend.h \
|
||||||
geode_driver.c \
|
geode_common.c \
|
||||||
geode_common.c \
|
geode_dcon.c \
|
||||||
geode_dcon.c \
|
geode_ddc.c \
|
||||||
geode_ddc.c \
|
geode_driver.c \
|
||||||
geode_msr.c \
|
geode_fourcc.h \
|
||||||
gx_driver.c\
|
geode.h \
|
||||||
gx_accel.c \
|
geode_msr.c \
|
||||||
gx_cursor.c \
|
geode_pcirename.h \
|
||||||
gx_video.c \
|
gx_accel.c \
|
||||||
gx_regacc.c \
|
gx_cursor.c \
|
||||||
gx_rotate.c \
|
gx_driver.c \
|
||||||
gx_randr.c \
|
gx_randr.c \
|
||||||
durango.c \
|
gx_regacc.c \
|
||||||
panel.c \
|
gx_rotate.c \
|
||||||
lx_driver.c \
|
gx_video.c \
|
||||||
lx_cursor.c \
|
lx_cursor.c \
|
||||||
lx_memory.c \
|
lx_display.c \
|
||||||
lx_panel.c \
|
lx_driver.c \
|
||||||
lx_output.c \
|
lx_exa.c \
|
||||||
lx_display.c \
|
lx_memory.c \
|
||||||
lx_video.c \
|
lx_output.c \
|
||||||
lx_exa.c \
|
lx_panel.c \
|
||||||
cimarron.c \
|
lx_video.c \
|
||||||
geode_pcirename.h
|
panel.c
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
cim/cim_defs.h \
|
cim/cim_defs.h \
|
||||||
cim/cim_df.c \
|
cim/cim_df.c \
|
||||||
cim/cim_filter.c \
|
cim/cim_filter.c \
|
||||||
cim/cim_gp.c \
|
cim/cim_gp.c \
|
||||||
cim/cim_init.c \
|
cim/cim_init.c \
|
||||||
cim/cim_modes.c \
|
cim/cim_modes.c \
|
||||||
cim/cim_msr.c \
|
cim/cim_msr.c \
|
||||||
cim/cim_parm.h \
|
cim/cim_parm.h \
|
||||||
cim/cim_regs.h \
|
cim/cim_regs.h \
|
||||||
cim/cim_rtns.h \
|
cim/cim_rtns.h \
|
||||||
cim/cim_version.h \
|
cim/cim_version.h \
|
||||||
cim/cim_vg.c \
|
cim/cim_vg.c \
|
||||||
cim/cim_vip.c \
|
cim/cim_vip.c \
|
||||||
cim/cim_vop.c \
|
cim/cim_vop.c \
|
||||||
cim/doc/release.txt \
|
cim/doc/release.txt \
|
||||||
\
|
\
|
||||||
gfx/disp_gu1.c \
|
gfx/disp_gu1.c \
|
||||||
gfx/disp_gu2.c \
|
gfx/disp_gu2.c \
|
||||||
gfx/gfx_dcdr.c \
|
gfx/gfx_dcdr.c \
|
||||||
gfx/gfx_defs.h \
|
gfx/gfx_defs.h \
|
||||||
gfx/gfx_disp.c \
|
gfx/gfx_disp.c \
|
||||||
gfx/gfx_i2c.c \
|
gfx/gfx_i2c.c \
|
||||||
gfx/gfx_init.c \
|
gfx/gfx_init.c \
|
||||||
gfx/gfx_mode.h \
|
gfx/gfx_mode.h \
|
||||||
gfx/gfx_msr.c \
|
gfx/gfx_msr.c \
|
||||||
gfx/gfx_priv.h \
|
gfx/gfx_priv.h \
|
||||||
gfx/gfx_regs.h \
|
gfx/gfx_regs.h \
|
||||||
gfx/gfx_rndr.c \
|
gfx/gfx_rndr.c \
|
||||||
gfx/gfx_rtns.h \
|
gfx/gfx_rtns.h \
|
||||||
gfx/gfx_tv.c \
|
gfx/gfx_tv.c \
|
||||||
gfx/gfx_type.h \
|
gfx/gfx_type.h \
|
||||||
gfx/gfx_vga.c \
|
gfx/gfx_vga.c \
|
||||||
gfx/gfx_vid.c \
|
gfx/gfx_vid.c \
|
||||||
gfx/gfx_vip.c \
|
gfx/gfx_vip.c \
|
||||||
gfx/history.h \
|
gfx/history.h \
|
||||||
gfx/i2c_acc.c \
|
gfx/i2c_acc.c \
|
||||||
gfx/i2c_gpio.c \
|
gfx/i2c_gpio.c \
|
||||||
gfx/init_gu1.c \
|
gfx/init_gu1.c \
|
||||||
gfx/init_gu2.c \
|
gfx/init_gu2.c \
|
||||||
gfx/msr_rdcl.c \
|
gfx/msr_rdcl.c \
|
||||||
gfx/release.txt \
|
gfx/release.txt \
|
||||||
gfx/rndr_gu1.c \
|
gfx/rndr_gu1.c \
|
||||||
gfx/rndr_gu2.c \
|
gfx/rndr_gu2.c \
|
||||||
gfx/saa7114.c \
|
gfx/saa7114.c \
|
||||||
gfx/tv_1200.c \
|
gfx/tv_1200.c \
|
||||||
gfx/tv_fs450.c \
|
gfx/tv_fs450.c \
|
||||||
gfx/tv_fs450.h \
|
gfx/tv_fs450.h \
|
||||||
gfx/vga_gu1.c \
|
gfx/vga_gu1.c \
|
||||||
gfx/vid_1200.c \
|
gfx/vid_1200.c \
|
||||||
gfx/vid_5530.c \
|
gfx/vid_5530.c \
|
||||||
gfx/vid_rdcl.c \
|
gfx/vid_rdcl.c \
|
||||||
gfx/vip_1200.c \
|
gfx/vip_1200.c \
|
||||||
\
|
\
|
||||||
panel/92xx.h \
|
panel/92xx.h \
|
||||||
panel/cen9211.c \
|
panel/cen9211.c \
|
||||||
panel/cen9211.h \
|
panel/cen9211.h \
|
||||||
panel/dora9211.c \
|
panel/dora9211.c \
|
||||||
panel/dora9211.h \
|
panel/dora9211.h \
|
||||||
panel/drac9210.c \
|
panel/drac9210.c \
|
||||||
panel/drac9210.h \
|
panel/drac9210.h \
|
||||||
panel/gx2_9211.c \
|
panel/gx2_9211.c \
|
||||||
panel/gx2_9211.h \
|
panel/gx2_9211.h \
|
||||||
panel/panel.c \
|
panel/panel.c \
|
||||||
panel/panel.h \
|
panel/panel.h \
|
||||||
panel/platform.c \
|
panel/platform.c \
|
||||||
panel/pnl_bios.c \
|
panel/pnl_bios.c \
|
||||||
panel/pnl_defs.h \
|
panel/pnl_defs.h \
|
||||||
panel/pnl_init.c \
|
panel/pnl_init.c \
|
||||||
panel/readme.txt \
|
panel/readme.txt \
|
||||||
\
|
\
|
||||||
gx_vga.c \
|
gx_vga.c \
|
||||||
lx_vga.c
|
lx_vga.c
|
||||||
|
|
||||||
all: all-am
|
all: all-am
|
||||||
|
@ -32,8 +32,6 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _LARGEFILE64_SOURCE
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <compiler.h>
|
#include <compiler.h>
|
||||||
|
@ -101,9 +101,14 @@ DCONDPMSSet(ScrnInfoPtr pScrni, int mode)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
write(fd, value, sizeof(value));
|
ret = write(fd, value, sizeof(value));
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
|
if (ret < 0) {
|
||||||
|
failed = 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,10 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
@ -65,7 +68,7 @@ GeodeReadMSR(unsigned long addr, unsigned long *lo, unsigned long *hi)
|
|||||||
if (fd == -1)
|
if (fd == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
ret = lseek64(fd, (off64_t) addr, SEEK_SET);
|
ret = lseek(fd, (off_t) addr, SEEK_SET);
|
||||||
|
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
return -1;
|
return -1;
|
||||||
@ -103,7 +106,7 @@ GeodeWriteMSR(unsigned long addr, unsigned long lo, unsigned long hi)
|
|||||||
if (fd == -1)
|
if (fd == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (lseek64(fd, (off64_t) addr, SEEK_SET) == -1)
|
if (lseek(fd, (off_t) addr, SEEK_SET) == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
data[0] = lo;
|
data[0] = lo;
|
||||||
|
@ -426,7 +426,7 @@ GXPreInit(ScrnInfoPtr pScrni, int flags)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pGeode = pScrni->driverPrivate = xnfcalloc(sizeof(GeodeRec), 1);
|
pGeode = pScrni->driverPrivate = xnfcalloc(1, sizeof(GeodeRec));
|
||||||
|
|
||||||
if (pGeode == NULL)
|
if (pGeode == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -445,9 +445,11 @@ GXPreInit(ScrnInfoPtr pScrni, int flags)
|
|||||||
if (pGeode->useVGA) {
|
if (pGeode->useVGA) {
|
||||||
if (!xf86LoadSubModule(pScrni, "vgahw") || !vgaHWGetHWRec(pScrni))
|
if (!xf86LoadSubModule(pScrni, "vgahw") || !vgaHWGetHWRec(pScrni))
|
||||||
pGeode->useVGA = FALSE;
|
pGeode->useVGA = FALSE;
|
||||||
|
else
|
||||||
|
vgaHWSetStdFuncs(VGAHWPTR(pScrni));
|
||||||
|
|
||||||
#if INT10_SUPPORT
|
#if INT10_SUPPORT
|
||||||
pGeode->vesa = calloc(sizeof(VESARec), 1);
|
pGeode->vesa = calloc(1, sizeof(VESARec));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -649,7 +651,7 @@ GXPreInit(ScrnInfoPtr pScrni, int flags)
|
|||||||
else
|
else
|
||||||
pScrni->videoRam = pGeode->pEnt->device->videoRam;
|
pScrni->videoRam = pGeode->pEnt->device->videoRam;
|
||||||
|
|
||||||
GeodeClockRange = (ClockRangePtr) xnfcalloc(sizeof(ClockRange), 1);
|
GeodeClockRange = (ClockRangePtr) xnfcalloc(1, sizeof(ClockRange));
|
||||||
GeodeClockRange->next = NULL;
|
GeodeClockRange->next = NULL;
|
||||||
GeodeClockRange->minClock = 25175;
|
GeodeClockRange->minClock = 25175;
|
||||||
GeodeClockRange->maxClock = 229500;
|
GeodeClockRange->maxClock = 229500;
|
||||||
@ -1259,11 +1261,11 @@ GXScreenInit(int scrnIndex, ScreenPtr pScrn, int argc, char **argv)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
pGeode->AccelImageWriteBuffers =
|
pGeode->AccelImageWriteBuffers =
|
||||||
calloc(sizeof(pGeode->AccelImageWriteBuffers[0]),
|
calloc(pGeode->NoOfImgBuffers,
|
||||||
pGeode->NoOfImgBuffers);
|
sizeof(pGeode->AccelImageWriteBuffers[0]));
|
||||||
pGeode->AccelColorExpandBuffers =
|
pGeode->AccelColorExpandBuffers =
|
||||||
calloc(sizeof(pGeode->AccelColorExpandBuffers[0]),
|
calloc(pGeode->NoOfColorExpandLines,
|
||||||
pGeode->NoOfColorExpandLines);
|
sizeof(pGeode->AccelColorExpandBuffers[0]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -353,7 +353,7 @@ GXRandRInit(ScreenPtr pScreen, int rotation)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pRandr = calloc(sizeof(XF86RandRInfoRec), 1);
|
pRandr = calloc(1, sizeof(XF86RandRInfoRec));
|
||||||
if (pRandr == NULL)
|
if (pRandr == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
@ -354,10 +354,11 @@ lx_crtc_gamma_set(xf86CrtcPtr crtc, CARD16 * red, CARD16 * green,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
for (i = 0; i < 256; i++) {
|
for (i = 0; i < 256; i++) {
|
||||||
|
unsigned int val;
|
||||||
(*red) &= 0xff00;
|
(*red) &= 0xff00;
|
||||||
(*green) &= 0xff00;
|
(*green) &= 0xff00;
|
||||||
(*blue) &= 0xff00;
|
(*blue) &= 0xff00;
|
||||||
unsigned int val = (*(red++) << 8) | *(green++) | (*(blue++) >> 8);
|
val = (*(red++) << 8) | *(green++) | (*(blue++) >> 8);
|
||||||
|
|
||||||
df_set_video_palette_entry(i, val);
|
df_set_video_palette_entry(i, val);
|
||||||
}
|
}
|
||||||
@ -577,7 +578,7 @@ LXSetupCrtc(ScrnInfoPtr pScrni)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
lxpriv = xnfcalloc(sizeof(LXCrtcPrivateRec), 1);
|
lxpriv = xnfcalloc(1, sizeof(LXCrtcPrivateRec));
|
||||||
|
|
||||||
if (!lxpriv) {
|
if (!lxpriv) {
|
||||||
xf86CrtcDestroy(crtc);
|
xf86CrtcDestroy(crtc);
|
||||||
|
@ -300,7 +300,7 @@ LXPreInit(ScrnInfoPtr pScrni, int flags)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
pGeode = pScrni->driverPrivate = xnfcalloc(sizeof(GeodeRec), 1);
|
pGeode = pScrni->driverPrivate = xnfcalloc(1, sizeof(GeodeRec));
|
||||||
|
|
||||||
if (pGeode == NULL)
|
if (pGeode == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -312,8 +312,10 @@ LXPreInit(ScrnInfoPtr pScrni, int flags)
|
|||||||
if (pGeode->useVGA) {
|
if (pGeode->useVGA) {
|
||||||
if (!xf86LoadSubModule(pScrni, "vgahw") || !vgaHWGetHWRec(pScrni))
|
if (!xf86LoadSubModule(pScrni, "vgahw") || !vgaHWGetHWRec(pScrni))
|
||||||
pGeode->useVGA = FALSE;
|
pGeode->useVGA = FALSE;
|
||||||
|
else
|
||||||
|
vgaHWSetStdFuncs(VGAHWPTR(pScrni));
|
||||||
|
|
||||||
pGeode->vesa = calloc(sizeof(VESARec), 1);
|
pGeode->vesa = calloc(1, sizeof(VESARec));
|
||||||
}
|
}
|
||||||
|
|
||||||
cim_rdmsr = LXReadMSR;
|
cim_rdmsr = LXReadMSR;
|
||||||
|
@ -48,6 +48,19 @@
|
|||||||
#define F(x) IntToxFixed(x)
|
#define F(x) IntToxFixed(x)
|
||||||
#define I(x) xFixedToInt(x)
|
#define I(x) xFixedToInt(x)
|
||||||
|
|
||||||
|
#define GEODE_TRACE_FALL 0
|
||||||
|
|
||||||
|
#if GEODE_TRACE_FALL
|
||||||
|
#define GEODE_FALLBACK(x) \
|
||||||
|
do { \
|
||||||
|
ErrorF("%s: ", __FUNCTION__); \
|
||||||
|
ErrorF x; \
|
||||||
|
return FALSE; \
|
||||||
|
} while (0)
|
||||||
|
#else
|
||||||
|
#define GEODE_FALLBACK(x) return FALSE
|
||||||
|
#endif
|
||||||
|
|
||||||
static const struct exa_format_t
|
static const struct exa_format_t
|
||||||
{
|
{
|
||||||
int exa;
|
int exa;
|
||||||
@ -532,10 +545,8 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
|
|||||||
GeodeRec *pGeode = GEODEPTR_FROM_PICTURE(pDst);
|
GeodeRec *pGeode = GEODEPTR_FROM_PICTURE(pDst);
|
||||||
const struct exa_format_t *srcFmt, *dstFmt;
|
const struct exa_format_t *srcFmt, *dstFmt;
|
||||||
|
|
||||||
/* Check that the operation is supported */
|
|
||||||
|
|
||||||
if (op > PictOpAdd)
|
if (op > PictOpAdd)
|
||||||
return FALSE;
|
GEODE_FALLBACK(("Operation %d is not supported\n", op));
|
||||||
|
|
||||||
/* FIXME: Meet this conditions from the debug for PictOpAdd.
|
/* FIXME: Meet this conditions from the debug for PictOpAdd.
|
||||||
* Any Other possibilities? Add a judge for the future supplement */
|
* Any Other possibilities? Add a judge for the future supplement */
|
||||||
@ -551,15 +562,13 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
|
|||||||
pDst->format == PICT_a8 && !pMsk)
|
pDst->format == PICT_a8 && !pMsk)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
/* We need the off-screen buffer to do the multipass work */
|
|
||||||
|
|
||||||
if (usesPasses(op)) {
|
if (usesPasses(op)) {
|
||||||
if (pGeode->exaBfrOffset == 0 || !pMsk)
|
if (pGeode->exaBfrOffset == 0 || !pMsk)
|
||||||
return FALSE;
|
GEODE_FALLBACK(("Multipass operation requires off-screen buffer\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pMsk && op == PictOpAdd)
|
if (pMsk && op == PictOpAdd)
|
||||||
return FALSE;
|
GEODE_FALLBACK(("PictOpAdd with mask is not supported\n"));
|
||||||
|
|
||||||
/* Check that the filter matches what we support */
|
/* Check that the filter matches what we support */
|
||||||
|
|
||||||
@ -571,17 +580,15 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* WE don't support bilinear or convolution filters */
|
GEODE_FALLBACK(("Bilinear or convolution filters are not supported\n"));
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We don't support any mask transforms */
|
|
||||||
if (pMsk && pMsk->transform)
|
if (pMsk && pMsk->transform)
|
||||||
return FALSE;
|
GEODE_FALLBACK(("Mask transforms are not supported\n"));
|
||||||
|
|
||||||
/* XXX - don't know if we can do any hwaccel on solid fills or gradient types */
|
/* XXX - don't know if we can do any hwaccel on solid fills or gradient types */
|
||||||
if (pSrc->pSourcePict || (pMsk && pMsk->pSourcePict))
|
if (pSrc->pSourcePict || (pMsk && pMsk->pSourcePict))
|
||||||
return FALSE;
|
GEODE_FALLBACK(("Solid fills or gradient types are not supported\n"));
|
||||||
|
|
||||||
/* Keep an eye out for source rotation transforms - those we can
|
/* Keep an eye out for source rotation transforms - those we can
|
||||||
* do something about */
|
* do something about */
|
||||||
@ -590,13 +597,12 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
|
|||||||
exaScratch.transform = NULL;
|
exaScratch.transform = NULL;
|
||||||
|
|
||||||
if (pSrc->transform && !lx_process_transform(pSrc))
|
if (pSrc->transform && !lx_process_transform(pSrc))
|
||||||
return FALSE;
|
GEODE_FALLBACK(("Transform operation is non-trivial\n"));
|
||||||
|
|
||||||
/* XXX - I don't understand PICT_a8 enough - so I'm punting */
|
/* XXX - I don't understand PICT_a8 enough - so I'm punting */
|
||||||
|
|
||||||
if ((op != PictOpAdd) && (pSrc->format == PICT_a8 ||
|
if ((op != PictOpAdd) && (pSrc->format == PICT_a8 ||
|
||||||
pDst->format == PICT_a8))
|
pDst->format == PICT_a8))
|
||||||
return FALSE;
|
GEODE_FALLBACK(("PICT_a8 as src or dst format is unsupported\n"));
|
||||||
|
|
||||||
if (pMsk && op != PictOpClear) {
|
if (pMsk && op != PictOpClear) {
|
||||||
struct blend_ops_t *opPtr = &lx_alpha_ops[op * 2];
|
struct blend_ops_t *opPtr = &lx_alpha_ops[op * 2];
|
||||||
@ -605,21 +611,21 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
|
|||||||
/* Direction 0 indicates src->dst, 1 indiates dst->src */
|
/* Direction 0 indicates src->dst, 1 indiates dst->src */
|
||||||
if (((direction == 0) && (pSrc->pDrawable->bitsPerPixel < 16)) ||
|
if (((direction == 0) && (pSrc->pDrawable->bitsPerPixel < 16)) ||
|
||||||
((direction == 1) && (pDst->pDrawable->bitsPerPixel < 16))) {
|
((direction == 1) && (pDst->pDrawable->bitsPerPixel < 16))) {
|
||||||
ErrorF("Can't do mask blending with less then 16bpp\n");
|
ErrorF("Mask blending unsupported with <16bpp\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
/* We can only do masks with a 8bpp or a 4bpp mask */
|
|
||||||
if (pMsk->format != PICT_a8 && pMsk->format != PICT_a4)
|
if (pMsk->format != PICT_a8 && pMsk->format != PICT_a4)
|
||||||
return FALSE;
|
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 */
|
/* The pSrc should be 1x1 pixel if the pMsk is not zero */
|
||||||
if (pSrc->pDrawable->width != 1 || pSrc->pDrawable->height != 1)
|
if (pSrc->pDrawable->width != 1 || pSrc->pDrawable->height != 1)
|
||||||
return FALSE;
|
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
|
/* 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.
|
* 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
|
* That will lead to bigger region to render instead of one pixel in lx
|
||||||
* _do_composite, so we should fallback currently to avoid this */
|
* _do_composite, so we should fallback currently to avoid this */
|
||||||
if (!pSrc->repeat)
|
if (!pSrc->repeat)
|
||||||
return FALSE;
|
GEODE_FALLBACK(("FIXME: unzero mask might lead to bigger rendering region than 1x1 pixels\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the formats for the source and destination */
|
/* Get the formats for the source and destination */
|
||||||
@ -630,7 +636,7 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((dstFmt = lx_get_format(pDst)) == NULL) {
|
if ((dstFmt = lx_get_format(pDst)) == NULL) {
|
||||||
ErrorF("EXA: Invalid destination format %x\n", pDst->format);
|
ErrorF("EXA: Invalid destination format %x\n", pDst->format);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -638,21 +644,19 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
|
|||||||
/* If a mask is enabled, the alpha will come from there */
|
/* If a mask is enabled, the alpha will come from there */
|
||||||
|
|
||||||
if (!pMsk && (!srcFmt->alphabits && usesSrcAlpha(op)))
|
if (!pMsk && (!srcFmt->alphabits && usesSrcAlpha(op)))
|
||||||
return FALSE;
|
GEODE_FALLBACK(("Operation requires src alpha, but alphabits is unset\n"));
|
||||||
|
|
||||||
if (!pMsk && (!dstFmt->alphabits && usesDstAlpha(op)))
|
if (!pMsk && (!dstFmt->alphabits && usesDstAlpha(op)))
|
||||||
return FALSE;
|
GEODE_FALLBACK(("Operation requires dst alpha, but alphabits is unset\n"));
|
||||||
|
|
||||||
/* FIXME: See a way around this! */
|
|
||||||
|
|
||||||
|
/* FIXME: See a way around this! */
|
||||||
if (srcFmt->alphabits == 0 && dstFmt->alphabits != 0)
|
if (srcFmt->alphabits == 0 && dstFmt->alphabits != 0)
|
||||||
return FALSE;
|
GEODE_FALLBACK(("src_alphabits=0, dst_alphabits!=0\n"));
|
||||||
|
|
||||||
/* If this is a rotate operation, then make sure the src and dst
|
/* If this is a rotate operation, then make sure the src and dst
|
||||||
* formats are the same */
|
* formats are the same */
|
||||||
|
|
||||||
if (exaScratch.rotate != RR_Rotate_0 && srcFmt != dstFmt) {
|
if (exaScratch.rotate != RR_Rotate_0 && srcFmt != dstFmt) {
|
||||||
ErrorF("EXA: Can't rotate and convert formats at the same time\n");
|
ErrorF("EXA: Unable to rotate and convert formats at the same time\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -190,7 +190,6 @@ IoCtl(int fd, unsigned int fn, void *arg, int flag)
|
|||||||
static void
|
static void
|
||||||
z4l_ovly_unmap(Z4lPortPrivRec * pPriv)
|
z4l_ovly_unmap(Z4lPortPrivRec * pPriv)
|
||||||
{
|
{
|
||||||
#ifdef LINUX_2_6
|
|
||||||
int i, nbfrs;
|
int i, nbfrs;
|
||||||
|
|
||||||
nbfrs = pPriv->nbfrs;
|
nbfrs = pPriv->nbfrs;
|
||||||
@ -200,12 +199,6 @@ z4l_ovly_unmap(Z4lPortPrivRec * pPriv)
|
|||||||
pPriv->bfrs[i].start = NULL;
|
pPriv->bfrs[i].start = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
if (pPriv->bfrs[0].start != NULL) {
|
|
||||||
munmap((void *)pPriv->bfrs[0].start, pPriv->bufsz);
|
|
||||||
pPriv->bfrs[0].start = NULL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
pPriv->nbfrs = -1;
|
pPriv->nbfrs = -1;
|
||||||
pPriv->bufsz = -1;
|
pPriv->bufsz = -1;
|
||||||
pPriv->last = -1;
|
pPriv->last = -1;
|
||||||
@ -252,27 +245,12 @@ z4l_ovly_map(Z4lPortPrivRec * pPriv, int dir)
|
|||||||
pPriv->bufsz = bsz;
|
pPriv->bufsz = bsz;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LINUX_2_6
|
|
||||||
for (i = 0; i < pPriv->nbfrs; ++i) {
|
for (i = 0; i < pPriv->nbfrs; ++i) {
|
||||||
pPriv->bfrs[i].start = mmap(NULL, bfr.length, PROT_READ | PROT_WRITE,
|
pPriv->bfrs[i].start = mmap(NULL, bfr.length, PROT_READ | PROT_WRITE,
|
||||||
MAP_SHARED, fd, pPriv->bfrs[i].offset);
|
MAP_SHARED, fd, pPriv->bfrs[i].offset);
|
||||||
if (pPriv->bfrs[i].start == MAP_FAILED)
|
if (pPriv->bfrs[i].start == MAP_FAILED)
|
||||||
goto xit;
|
goto xit;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
pPriv->bfrs[0].offset = 0;
|
|
||||||
pPriv->bfrs[0].start =
|
|
||||||
mmap(NULL, pPriv->bufsz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
|
|
||||||
|
|
||||||
if (pPriv->bfrs[0].start == MAP_FAILED) {
|
|
||||||
pPriv->bfrs[0].start = NULL;
|
|
||||||
goto xit;
|
|
||||||
}
|
|
||||||
|
|
||||||
offset = (unsigned long)pPriv->bfrs[0].start;
|
|
||||||
for (i = 1; i < pPriv->nbfrs; ++i)
|
|
||||||
pPriv->bfrs[i].start = (void *)(offset + pPriv->bfrs[i].offset);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
for (i = 0; i < pPriv->nbfrs; ++i) {
|
for (i = 0; i < pPriv->nbfrs; ++i) {
|
||||||
DBLOG(3, "bfr %d ofs %#lx adr %p sz %lu\n", i, pPriv->bfrs[i].offset,
|
DBLOG(3, "bfr %d ofs %#lx adr %p sz %lu\n", i, pPriv->bfrs[i].offset,
|
||||||
|
Loading…
Reference in New Issue
Block a user