Commit Graph

18 Commits

Author SHA1 Message Date
Kevin E Martin
8784228500 Fix CopyArea for non-redir dst, redir src (Bug #1105, Eric Anholt). 2004-08-18 21:11:17 +00:00
Keith Packard
9da0c214ab Clip destination instead of source. Should be the same, but it looks nicer
to me.
Clean up transition between cheap and expensive GC wrappers by using the
    prologue and epilogue macros. Before, the GC would be left unvalidated
    sometimes which would cause all kinds of entertaining bugs against a
    DDX which cares (XAA).
2004-08-15 21:13:11 +00:00
Keith Packard
a68f350195 Remove debugging code which did a full tree walk on every window operation
Eliminate needless (and, it turns out, dangerous) call to ChangeGC on
    DestroyGCPrivate.
in cwSetWindowPixmap, check if the pixmap is the screen pixmap and disable
    the wrapper by setting the private to NULL.
2004-08-15 19:05:01 +00:00
Keith Packard
1e728c3e88 Copy bits from parent window when allocating pixmaps so that Background ==
None works.
Copy filter to backing picture during validation.
Mark picture serialNumber when setting Filter or Transform so Validate
    occurs.
Initialize xf86Screens[i]->pScreen to NULL so that RADEON driver doesn't
    crash during server reset using old pScreen.
2004-08-15 03:34:18 +00:00
Keith Packard
9433085179 Redraw window borders when switching window pixmaps around
Make cw "own" the window pixmaps by wrapping
    GetWindowPixmap/SetWindowPixmap.
2004-08-15 00:43:39 +00:00
Keith Packard
e483fe3ec3 Fix offsets again. Really, it works this time. Promise. 2004-08-14 21:57:58 +00:00
Keith Packard
e6216b48f5 Fix offsets, do whole region at once by using GC clipping 2004-08-14 21:36:10 +00:00
Keith Packard
cc3ad0ed43 Fix clip list computation and setting to ignore clip changes to "real"
GC/Picture and track serial numbers correctly when copying
    pCompositeClip down.
2004-08-14 19:53:36 +00:00
Eric Anholt
183c6d0645 Wrap CopyWindow in cw, which fixes scrolling in many apps. 2004-08-14 19:51:11 +00:00
Keith Packard
e61b5d38ab Use XLIB_SKIP_ARGB_VISUALS environment variable to disable all depth 32
visuals. Necessary to keep Flash from crashing.
Must call ValidateGC/ValidatePicture on "real" GC/Picture to ensure
    pCompositeClip is set correctly.
Need to take the composite clip from the "real" GC/Picture and turn it into
    the clientClip for the backing version.
Adjust pixmap screen origin to account for drawable->x/y Change debugging
    output a bit (disabled by default)
2004-08-14 07:12:37 +00:00
Eric Anholt
6e0228722c Fix various cw issues, including a couple reported by deronj:
- Fix wrapping of GC ops/funcs according to policy described in bug #1045.
- Remove ValidateGC/ValidatePictures on the redirected drawables/pictures
    -- it's not needed, and DDXs shouldn't be seeing redirected drawables
    in render or GC ops/funcs when cw is running.
- Mark all GC/Picture state as dirty when moving from redirected to
    non-redirected, since it hadn't been passed down in Change* or
    Validate* while redirected.
- Remove CreatePicture wrapper that didn't do anything.
- Comment on why AddTraps wrapper isn't needed.
2004-08-12 08:11:59 +00:00
Keith Packard
9d0213525f Paint to parent window instead of parent window's pixmap (helps for servers
that don't have a pixmap for the root)
Fix offsets for render drawing.
2004-08-12 00:09:30 +00:00
Keith Packard
2bdbc2c0d3 Clean up cw initialization, make sure wrappers re-wrap on exit. 2004-08-07 01:02:41 +00:00
Eric Anholt
e847bcda08 Fix missing ';' in cw.c and unwrap the render wrapper properly. 2004-08-06 00:31:28 +00:00
Eric Anholt
ae1580c494 - Add a new Render function, CopyPicture, which will update a picture with
the flagged bits from a source picture. Approved in principle by
    keithp.
- Use CopyPicture and SetTransform to update most of the backing picture's
    state in the composite wrapper. Filters are still missing.
- Don't allocate a picture private, now that we calculate clipping properly
    and don't need the serialNumber or stateChanges.
- Use the format of the source pixmap rather than generating the format
    from the window's visual.
- Wrap the rest of the Render primitives that were stubbed out before.
2004-08-05 18:24:58 +00:00
Eric Anholt
73e14bd611 - Always validate the backing GC in cwValidateGC, not just when the clip
list changes.
- Use FillTiled instead of FillSolid for painting tiled border/background
    pixmaps, and don't needlessly change the scratch GC's defaults.
- Use the preferred dixChangeGC instead of DoChangeGC.
- Simplify a silly loop and clean up a couple of comments.
2004-08-04 23:18:38 +00:00
Eric Anholt
bfbb40c28c Major improvements to Composite wrapper. Several issues remain, but it now
appears stable in limited testing.
- Allocate the picture private, avoiding segfault.
- Wrap PaintWindow to draw the background/border to the backing pixmap
    (based on Deron Johnson's comptran.c).
- Set the x_off/y_off returns to translate coordinates properly.
- Don't bother allocating temporary areas for the modified coordinates.
    Layers above are responsible for handling lower layers changing the
    arguments, so cw doesn't have to worry about it. mibstore.c has to do
    the allocation because it calls down twice (front buffer and backing
    store). (Suggested by keithp)
- Handle the mode argument to PolyPoint, Polylines, and FillPolygon.
- Remove some dead elements in the cw privates.
- Kill a prototype warning in compinit.c by adding the cw.h header.
2004-08-03 05:49:48 +00:00
Eric Anholt
d690556d49 Integrate COMPOSITEWRAP branch including composite wrapper. This code still
has several issues, including:
- CopyWindow and PaintWindow wrappers missing (will be done soon)
- Some segfaults seen in the Render wrappers.
- Xprt server build breaks with Composite.
- DDXs must be recompiled for Composite due to VisualRec size change.
- Composite bugs pointed out by Deron Johnson in email.
Also, reorder XFixes initialization according to comments by Keith which
    are also in xserver CVS.
2004-07-31 08:24:14 +00:00