pixmap into temporary offscreen storage. Subsequent UploadToScratch may
clobber the data of previous ones. This allows hardware acceleration of
composite operations on glyphs.
- Add a new UploadToScreen kaa hook for doing the actual moving of data to
framebuffer. This would allow us to do things like hostdata blits or
memcpy to agp and then blit.
- Add an UploadToScreen on ATI which is just memcpy, but which will be
replaced with a hostdata blit soon.
- Add UploadToScratch on ATI and reserve 64k of scratch space. This
provided a 3x speedup of rgb24text on my Radeon.
functions. Along with making things more readable, it fixes a problem
where the coordinates would get messed up if acceleration failed due to
things like pixmaps being in the wrong locations.
pixmaps are offscreen and don't have alpha maps. It is the last case
checked before going to software fallback
- Use the new Composite hook in the ati driver to implement acceleration of
most Composites that get done in an xcompmgr environment on r100 series
cards. It is only available when using the DRM. There are still some
corruption issues, but the DRI is still non-default and I need to get
this into version control.
- Add libdrm and libdri. Portions of the DRI extension are stubbed out.
- Use the DRM in the ATI driver when available. This provides a minor
performance improvement in x11perf, and opens the possibility of using
the 3d hardware for acceleration in the future.
- Implement solid fill acceleration for Composite in KAA.
- Implement Blend hook for Composite and use it on r128.
- Fix a bug of mine that resulted in overuse of offscreen memory.
- Fix many miscellaneous bugs in ATI driver and add PCI IDs.
available, with fbdev being used by default.
- Use depth 16 by default when vesa backend is used.
- Add MMIO defines for PowerPC (should be in a common location).
Many thanks for Michel Daenzer for much of this code.
help with ati, and future DRM drivers.
- Add new "ati" kdrive driver. It has ancestry in the r128 driver from
andersca, but took a detour through being the WIP SiS 300 driver on the
way. It supports Radeons (tested on QD VIVO and 7500) and Rage 128.
Current limitations include that it requires depth 16 and that the
other Rage 128 PCI IDs aren't included yet.
change, just cleaning up a bit)
Reset the screen->memory_base value when frame buffer is remapped. This
makes sure new off-screen allocations point at the newly mapped region
rather than the old (now unmapped) region.
Sufficient, but not always necessary.
Add borderClip to damage on creation so that clients needn't guess.
Fix API to FbDots functions to make PolyPoint work with screen_x/screen_y
offsets
Add debugging code to make sure no pictures are left pointing at freed
pixmaps. "Can't" happen, but it did once.
Change KdOffscreenArea structure to eliminate separate private structure,
eliminate the ScreenPtr, change from doubly linked to singly linked
list.
Don't damage BackgroundNone windows on PW_BACKGROUND. Re-clip damage to
borderClip in DamageSubtract.
drawable pixmap rather than directly into the frame buffer. Rewrite
logic in kdoffscreen to make space for new allocations, now deals
correctly with locked areas.
unwrapping pixmap operations. This makes sure the accelerated code gets
invoked for pixmaps
Add pixmap migration support to kaa. Can't quite automatically migrate
pixmaps off-screen, but soon we will. Can kick objects out of video
memory. Move per-screen linked list pointers to pixmap private. Wrap
Composite in preparation for migrating pixmaps. Have kasync ignore
drawable type so that pixmaps trigger sync Add KdOffscreenFini to
cleanup on server reset. Switch off screen area to have only a 'save'
function; moving objects to off screen memory is done by saving then
freeing the area.
hw/kdrive/src/kdrive.h Add -switchCmd option to set command that is
executed whenever the VT is enabled or disabled. This permits input
device to be customized by external apps when switching to X.
may depend on setting done there (Egbert Eich).
318. Several fixes for cross compile environment (Egbert Eich).
317. Added code to allow for building of static only libraries with
-fPIC for platforms which require it (Egbert Eich).
316. Added '-m32' to gcc flags as default for ia32 builds when gcc version
is >= 3.1. This allows building a 32 bit Version of X on 64bit x86-64
(Egbert Eich).
315. Changed direct calls of ld to 'gcc -nostdlib' for Linux (Egbert Eich).
314. Changed calls to as to 'gcc -c -x assembler-with-cpp' for Linux
(Egbert Eich).
313. Added '-fno-strict-aliasing' flag to gcc version >= 3.1 (Egbert Eich).
Strict requires that one address must not contain pointers to different
types - a feature heavily used by X (Egbert Eich).
312. Fixed a core dump problem in libXtt (?) (Egbert Eich).
311. Removed '#pragma pack' from structures that contain function pointers
in x86emu. This causes problems on gcc 3.1 for ia64 (Egbert Eich).
310. Added defines for missing X types to saverproto.h (Egbert Eich).
309. Fixed compiler warings generated by gcc >= 3.1 in mesa drivers (Egbert
Eich).
308. For platforms that allow both 32 and 64 bit libraries to be executed
split Xlib i18n modules path into
<libpath>/X11R6/lib/X11/locale/lib/common and
<libpath>/X11R6/lib/X11/locale/lib64/common. 'lib64' has been defined
to be the default path for 64bit shared libraries on these platforms
(Egbert Eich).
307. Fixed obvious typo in OMlib (Egbert Eich).
306. Fixed code in cfb that didn't comply with C sequence rules. Modern C
compilers tend to be more aggressive on code reordering (Egbert Eich).
305. Changed arguments of NoopDDA() from VarArgs to void. Handling of
VarArgs by gcc isn't compatible with the way it was used on certain
platforms (Egbert Eich).
304. Added support for 32bit pixmaps for 24bit overlay framebuffers in fb
overlay code (Egbert Eich).
303. Fixed kdrive to print a meaningful error message instead of just core
dump when no matching graphics cards is found (Egbert Eich).
302. fixed portability bug in xwd (Andreas Schwab <schwab@suse.de>)
301. fixed X Server crash, which happended each time a proportional
iso10646 font was loaded with xtt backend (Yong Li
<rigel863@yahoo.com>)
300. Added some ARM specific fixes to compiler.h (Uli Hecht).
299. Added a virtual 'dummy' driver (Egbert Eich).
298. Fixed core dump when certain access functions are not set in xf86Bus.c
(Egbert Eich).
297. Fixed problem where SIGIO could be disabled after a server reset.
296. Added configurable list of devices the xf86Misc extension is allowed
to change the mouse device to (Egbert Eich).
295. Changed default mouse type to 'auto' when generating config file with
'-configure' (Egbert Eich).
294. Made sure keyboard modifier settings are consistent after exit from
DGA when the xkb extension is used (Egbert Eich).
293. Disabled keyboard processing when Xserver is suspended by power
management. This allows effective locking of laptops when stolen
(Egbert Eich).
292. Added/improved options for lockfile syncing (Egbert Eich).
291. Added support for backup copy of Xserver logfile (Egbert Eich).
290. Fixed GetTimeInMillis() to use deltas instead of absolute time
returend by gettimeofday(). This ensures time is monotonic in X (Egbert
Eich).
289. Fixed xf86Misc extension to allow modification of Expps2 mice (Egbert
Eich).
288. Made code in xf86MiscExt.c more readable (Egbert Eich).
287. Fixed PCI CardBus bridge handling (Egbert Eich).
286. Added code to reenable PCI bus mastering after coming back from a VT
switch to radeon driver (Charl P. Botha <http://cpbotha.net/>) (Egbert
Eich).
285. Dito for r128 driver (M. Harris).
284. Dito for glint and mga driver (Egbert Eich).
283. Fixed double scan issues for low res modes in C&T driver (Egbert
Eich).
282. Set rgbBits to 8 for all HiQV chips in chips driver (Egbert Eich).
281. Moved initialization of accel funtions past initialization of
offscreen fb manager in chips driver (Egbert Eich).
280. Fixed initialization of video in chips driver (?).
279. Fixed HALlib problem restoring text mode on G550 (Egbert Eich).
278. Restructured and included Matrox's Merged Framebuffer changes to mga
driver (Egbert Eich).
277. G450/550 clockchip programming fixes (Matrox).
276. Fixed HW Cursor for HALlib frame granularity (Egbert Eich).
275. Enabling 2D accel in 24-bit for neomagic 2360 and 2380 (Egbert Eich).
274. Added support for builtin 1024x480 mode of Sony subnotebooks for
Neomagic driver (Egbert Eich).
273. Fixed support for lowRes (320x240) modes in neomagic driver (Egbert
Eich).
272. Fixed RAC function registration in S3 driver (Egbert Eich).
271. Added some voodoo to screen initialization of S3 driver (Egbert Eich).
270. Fixed vbe/int10 support in SMI driver. It used to core dump when BIOS
was not usable (Egbert Eich).
269. Separated BRIGHTNESS and and CAPTURE_BRIGNTESS video attributes in smi
driver: CAPTURE_BRIGHTNESS refers to the capture chip (ie. Philips
SAA7110) while BRIGHTNESS controls the video overlay of the SMI chip
itself (Egbert Eich).
268. Disable automatic loading of DRI when running SUN ffb as this is
inconsistent with other drivers (Thorsten Kukuk).
267. Fixed Gamma/Brightness code in trident driver (Egbert Eich).
266. Added FpDelay debugging option (Egbert Eich).
260. Fixed video support for Trident 9397 (Egbert Eich).
265. Fixed Cursor/VT switch support for vmware driver (Egbert Eich).
264. Fixed Blit problems in vmware driver when running KDE (Egbert Eich).
263. Added RENDER support to vmware driver (Egbert Eich).
262. Added C&T 69030 to extrapci.ids (Egbert Eich).
261. Improved mouse autodetection code (Egbert Eich).
260. Restructured int10 code so that vm86 and x86emu support can be loaded
as modules. Implemented heuristic to try vm86 first and fall back to
x86emu. This allows 32 bit Xservers to run on x86_64 on 64-bit kernel
without vm86 support (Egbert Eich).
259. Restructured elf loader: determine which section to load from
elfheader flags (Egbert Eich).
258. Adding RENDER Support to RAC (Egbert Eich).
257. Using borderClip instead of borderSize region for redisplay function
in miext/shadow code to avoid core dumps when vt switched away (Egbert
Eich).
256. Replacing sprintf() by snprintf() in lbxproxy to eliminate possible
buffer overrun exploits (Egbert Eich).
255. KP_Decimal fixes to Czech and Slovak keybards (Jan Holesovsky
<kendy@suse.cz>) (Egbert Eich).
Add support for global screen origins (-origin option), handles both
Xinerama and mouse crossings.
Fix XV enable/disable sequences -- can't use card wrappers as cards have
more than one screen.
Change vesa/fbdev to use new depth-independent rotation shadow update
Fix vesa to allow starting rotation value (again)
Make vesa driver write all colormap changes in one INT10 call
37. Xdm/PAM fixes: leave it to PAM to observe whether or not an account is
locked, and reinitialize credentials after calling initgroups(),
because sometimes the credentials pam_setcred() gives are in the form
of group membership (#4693, Mike Harris).
35. Fix warnings when building mieq.c (#4689, Adam Sulmicki).
34. Fix some bugs in the cz and sk entried in XKB's keymap/xfree86 file
(#4692, Ivan Pascal).
33. Add 'hr' entries to XKB's keymap/xfree86 and rules/xfree86.lst files
(#4687, Nerijus Baliunas).
32. Include <X11/Xutil.h> in shape.h to get Region typedef (#4686, Adam
Sulmicki).
the Compaq IPAQ. Use -listmodes to see supported modes. Hack the
touchscreen driver to work as a mouse pad for the VGA screen. Fixup key
bindings so xmodmap can remap IPAQ's buttons as mouse buttons.