Commit Graph

22 Commits

Author SHA1 Message Date
Eric Anholt e4d11e58ce Remove the PaintWindow optimization.
This was an attempt to avoid scratch gc creation and validation for paintwin
because that was expensive.  This is not the case in current servers, and the
danger of failure to implement it correctly (as seen in all previous
implementations) is high enough to justify removing it.  No performance
difference detected with x11perf -create -move -resize -circulate on Xvfb.
Leave the screen hooks for PaintWindow* in for now to avoid ABI change.
2007-09-13 00:08:53 +00:00
Adam Jackson ae7f71a8b3 Implement core protocol backing store exclusively in terms of Composite.
Composite's automatic redirection is a more general mechanism than the
ad-hoc BS machinery, so it's much prettier to implement the one in terms
of the other.  Composite now wraps ChangeWindowAttributes and activates
automatic redirection for windows with backing store requested.  The old
backing store infrastructure is completely gutted: ABI-visible structures
retain the function pointers, but they never get called, and all the
open-coded conditionals throughout the DIX layer to implement BS are gone.

Note that this is still not a strictly complete implementation of backing
store, since Composite will throw the bits away on unmap and therefore
WhenMapped and Always hints are equivalent.
2007-08-25 15:08:20 -04:00
Adam Jackson bcb2352742 Clean up unused #ifdefs from fb. 2007-07-05 15:56:25 -04:00
Adam Jackson 4d76075dbb Death to RCS tags. 2007-06-29 14:06:52 -04:00
Adam Jackson 291e89d4f2 Remove NEED_LINEHELPER BC cruft for pre-R6 DDXes. 2006-04-30 19:16:14 +00:00
Adam Jackson 7fd73d2953 Build fixes: XSERVER_LIBS -> KDRIVE_LIBS, config.h -> kdrive-config.h 2005-12-27 08:29:50 +00:00
Eric Anholt 545c082cf9 - Replace the syncAccel hook in the kdrive structure with a pair of hooks
in the kaa structure: markSync and waitMarker. The first, if set,
    returns a hardware-dependent marker number which can then be waited for
    with waitMarker. If markSync is absent (which is the case on all
    drivers currently), waitMarker must wait for idle on any given marker
    number. The intention is to allow for more parallelism when we get
    downloading from framebuffer, or more fine-grained idling.
- Replace the KdMarkSync/KdCheckSync functions with kaaMarkSync and
    kaaWaitSync. These will need to be refined when KAA starts being smart
    about using them. Merge kpict.c into kasync.c since kasyn.c has all the
    rest of these fallback funcs.
- Restructure all drivers to initialize a KaaInfo structure by hand rather
    than statically in dubious order.
- Whack the i810 driver into shape in hopes that it'll work after this
    change (it certainly wouldn't have before this). Doesn't support my
    i845 though.
- Make a new KXV helper to avoid duplicated code to fill the region with
    the necessary color key. Use it in i810 and mach64 (tested).
2005-06-09 10:44:45 +00:00
Eric Anholt aeb78eaa98 Commit the rest of the dirty optimization from 20040703 and add a missing
header include. I don't know how this happened, but I'm going to blame
    a "few" fscks having happened between testing the code and committing
    (due to other driver changes that made me not blame dirty for the
    failures I saw) for disappearance of kasync.c changes. Fixes a lot of
    corruption.
2004-07-08 08:21:25 +00:00
Keith Packard 5378236aa6 merge xfixes_2_branch back to HEAD 2003-11-02 19:56:10 +00:00
Keith Packard cb46169759 Use same assumptions as layergc about what layer kind is approprate for
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.
2003-10-14 21:10:53 +00:00
Keith Packard 4b844cafb2 Check for off-screen pixmap support in KaaDrawableIsOffscreenPixmap. -Wall
fixes. Allocate pixmap private space only for screens with off-screen
    pixmap support
2003-10-14 05:07:39 +00:00
Keith Packard ce55d3234d Move kdrive common sources to src dir 2003-09-11 05:15:08 +00:00
Keith Packard 283a7f32c4 Update RCS tags, fix keyboard hang on VT switch, fix scroll wheel mice, add
-rawcoord option to not transform mice on rotate, fix mtrr to use
    power-of-two size, add a few vesa options
2003-07-07 19:13:03 +00:00
Keith Packard 7fcf46356b Allow for hardware acceleration under RandR with Layer. Hardware/Software
cursor switching still busted
2001-06-04 09:45:42 +00:00
Keith Packard f39a62d122 Add Xmuu library to remove requirement for Xt/Xaw from most X utilities Add
i810 and Xv support to kdrive
2001-03-30 02:15:20 +00:00
Keith Packard 2bbb90ebd9 Changes for PPC support under linux and a few overlay additions 2000-09-22 06:25:29 +00:00
Keith Packard d6e151ce4d Tiny-X: Add mouse matrix to rotate mouse, allow enable to fail, add render
by default
2000-09-15 15:19:00 +00:00
Keith Packard 83a388c96d Try to avoid hitting hardware during server reset when not active, add
KdPicture code
2000-08-26 00:24:38 +00:00
David Dawes 4b54f22b6a remove/disable standard RCS ident lines that are in some files some bindist
updates don't define noPanoramiXExtension when Xinerama is not enabled
    Add xfontsel to programs/Imakefile
2000-02-23 20:30:15 +00:00
David Dawes be2dad5954 missing ident lines 2000-01-21 18:41:49 +00:00
David Dawes 306ac1db85 3554. Fix "controlization" in XLookupString for chars > 127 (#3569, Ivan
Pascal).
3553. Take advantage of FB speedups in Tiny-X (#3568, Keith Packard).
3552. Speed up FB and do 32bit accesses instead of 64bit accesses (#3567,
    Keith Packard).
3551. Eliminate saving the contents of the screen durint VT switching
    (#3562, Keith Packard).
3550. Make using fb easier for driver writers (#3561, Keith Packard).
3549. Fix TCP font server connections (#3560, Keith Packard).
3548. Implement the "OverclockMem" option for the Millennium and Millennium
    II (#3558, Andrew Aitchison).
3547. Speed up some FB performance problems (#3557, 3559, 3560, Keith
    Packard).
3546. Work around a bad code generation bug in gcc 2.7.2.3 that shows up in
    XAA (#3550, Rik Faith).
3545. Add a -brief option to xclock to show only hours and minutes when in
    digital mode (#3549, Keith Packard).
3544. Fix some dead key problems with xkb symbols for Swiss French and
    Swiss German keyboards (#3546, Charles Lopes).
2000-01-21 01:12:02 +00:00
Robin Cutshaw 30e35cb44b 3516. Jumbo Tiny-X patch with Itsy support (#3527, Keith Packard). 1999-12-30 03:03:21 +00:00