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.
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.
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).
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.
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.
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).