summaryrefslogtreecommitdiff
path: root/composite
AgeCommit message (Collapse)AuthorFilesLines
2008-10-30Use PanoramiXSaveCompositeVector where possible.David Reveman1-56/+19
2008-10-30Export ProcCompositeVector.David Reveman1-1/+1
2008-10-30Move composite panoramix support into separate functions.David Reveman2-319/+396
2008-10-30Fix panoramix overlay window support.David Reveman1-14/+19
2008-10-30Add panoramix overlay window support.David Reveman3-5/+162
2008-10-30Add panoramix support to composite extension.David Reveman1-7/+192
2008-09-19Switching from Automatic to Manual redirect needs to unmap/remapKeith Packard1-0/+10
When changing a window from automatic redirection to manual redirection, the parent clip list needs to be recomputed; the easy way to get that computed right is to unmap/map the window, just as when redirecting the window the first time. Thanks to Owen Taylor for helping diagnose this. Signed-off-by: Keith Packard <keithp@keithp.com>
2008-09-17Conditionalize Composite-based backing store on pScreen->backingStoreSupport.Aaron Plattner1-1/+2
(cherry picked from commit 37876602957924c7cff759a800eddd574ee2385a)
2008-08-31damage: choose less ambiguous function namesMaarten Maathuis2-3/+3
2008-08-29{damage,exa}: sanitise damageMaarten Maathuis2-3/+3
- Redo damage naming for more consistency. - Call post submission functions only where appropriate. - EXA can now live without it's odd damage workarounds.
2008-08-28Prepare for array-index based devPrivates.Tomas Carnecky2-4/+8
TODO: static indices can be made just an int; some indices can be combined.
2008-07-24Remove all empty extension reset hooks, replace with NULL.Adam Jackson1-6/+1
2008-06-24Bug #15586: (Correctly) refuse to redirect the root window.Adam Jackson1-0/+3
2008-05-12Prevent the -wm command line option from causing a SEGVJames Cloos1-1/+1
The -wm (when mapped) option for the BackingStore support has been causing the server to dereference a NULL pointer. This has probably been the case since backing store has been implemented on top of Composite. It looks like (some of?) Composite didn’t expect its WIndowPtr argument to be the root window. In Composite’s compCheckRedirect() function we now avoid calling compAllocPixmap() and compFreePixmap() when the pWin pointer’s parent member is NULL, as is it the case with a server’s root window. This addresses: https://bugs.freedesktop.org/show_bug.cgi?id=15878
2008-05-12Clean up whitespaceJames Cloos1-35/+35
2008-05-04Rework composite overlay window code to fix several resource management bugs.Keith Packard5-184/+206
The composite overlay window code had several misunderstandings of the workings of the X server, in particular error handling paths would often double-free objects. Clean all of this up by using resource destruction as the sole mechanism for freeing resource-based objects.
2008-02-28XACE: Adjust the location of the COMPOSITE creation hook.Eamon Walsh1-2/+2
Avoids incrementing the refcnt if the hook fails.
2008-02-28XACE: Call the creation hook to properly label COMPOSITE window pixmaps.Eamon Walsh1-0/+6
2008-02-28XACE: Fix instances of DixUnknownAccess at hook callsites.Eamon Walsh1-1/+1
2008-02-17Resize composite overlay window when the root window changes.Maarten Maathuis1-0/+25
- This allows some compositing managers to work, even after randr12 has changed the root window size. - Thanks to ajax for figuring out the best place to put this. - Example: - xf86RandR12SetMode() calls EnableDisableFBAccess(). - That calls xf86SetRootClip() which in turn calls ResizeChildrenWinSize(). - The final step is the call to PositionWindow().
2007-11-20Revert "registry: Register composite extension protocol names."Eamon Walsh1-20/+0
This reverts commit 166ef972febc00c665e1d5aeb68e75d7bbcf9879. Moving all the names into dix/registry.c
2007-11-05Merge branch 'master' into XACE-SELINUXEamon Walsh1-1/+2
Conflicts: dix/dispatch.c dix/property.c hw/xfree86/common/xf86VidMode.c include/xkbsrv.h render/glyph.c xkb/xkbActions.c
2007-11-04Add CreatePixmap allocation hints.Aaron Plattner1-1/+2
These hints allow an acceleration architecture to optimize allocation of certain types of pixmaps, such as pixmaps that will serve as backing pixmaps for redirected windows.
2007-10-15registry: Register composite extension protocol names.Eamon Walsh1-0/+20
2007-09-26Merge branch 'master' into XACE-SELINUXEamon Walsh1-0/+6
Conflicts: dix/devices.c
2007-09-20Set noCompositeExtension to TRUE when failing to initialize the extension ↵Aaron Plattner1-0/+6
(e.g. when Xinerama is enabled).
2007-09-19Merge branch 'master' into XACE-SELINUXEamon Walsh4-43/+60
Conflicts: afb/afbpntwin.c afb/afbscrinit.c afb/afbwindow.c cfb/cfb.h cfb/cfballpriv.c cfb/cfbscrinit.c cfb/cfbwindow.c configure.ac fb/wfbrename.h hw/xfree86/xf4bpp/ppcIO.c hw/xfree86/xf4bpp/ppcPntWin.c hw/xfree86/xf4bpp/ppcWindow.c hw/xfree86/xf8_32bpp/cfbscrinit.c mfb/mfb.h mfb/mfbpntwin.c mfb/mfbscrinit.c mfb/mfbwindow.c mi/miexpose.c Note: conflicts caused by devPrivates rework vs. paintwindow changes.
2007-09-13Remove the PaintWindow optimization.Eric Anholt3-24/+1
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-05xace: add new fields to resource access hook to allow parent resource objectsEamon Walsh1-1/+1
to be passed in at create time. Also added a missing devPrivates initializer.
2007-09-01[COMPOSITE] Composite used for pixmap population on redirect. (Bug #7447)Keith Packard3-19/+59
compNewPixmap copies bits from the parent window to the redirected child pixmap to populate the pixmap with reasonable data. It cannot always use CopyArea as that only works across matching depths. Use Composite when the depths do not match.
2007-08-31xace: add hooks + new access codes: Composite extensionEamon Walsh1-15/+32
2007-08-28devPrivates rework: since API is already broken, switch everythingEamon Walsh4-41/+25
over to new system. Need to update documentation and address some remaining vestiges of old system such as CursorRec structure, fb "offman" structure, and FontRec privates.
2007-08-25Implement core protocol backing store exclusively in terms of Composite.Adam Jackson2-0/+36
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-07-31Don't fail compScreenInit if the driver added its own alternate visuals.Aaron Plattner1-1/+2
2007-07-18Refactor how Composite adds visuals to the screen.Adam Jackson1-113/+88
Besides being slightly simpler to read, it's now trivial to add a depth-16 visual to a depth-24 screen just by adding a line for it in the alternate visual list. Visuals for indexed depths are slightly tricky still.
2007-07-10Redirect fix: Manual + Automatic - Manual = AutomaticKeith Packard1-0/+1
A window with redirect manual *and* redirect automatic which loses the manual redirecting client becomes redirect automatic.
2007-07-09Fix regression from recent composite changes.Michel Dänzer1-1/+1
One pWin->redirectDraw test was converted incorrectly, causing incorrect rendering in some cases.
2007-07-03Have Composite always report server version.Keith Packard1-5/+1
It was reporting the lessor of the server and client versions, which doesn't make sense with the 0.4 semantic change in clipping.
2007-07-03Force advertised Composite version to 0.4 instead of using header version.Keith Packard1-5/+8
Installed protocol header version may be newer than the server code base. Use internal version number for Composite extension to make sure the server doesn't advertise capabilities it doesn't support.
2007-07-03Make Composite manual redirect windows not clip their parent.Keith Packard2-21/+26
This patch changes the semantics of manual redirect windows so that they no longer affect the clip list of their parent. Doing this means the parent can draw to the area covered by the child without using IncludeInferiors. More importantly, this also means that the parent receives expose events when that region is damaged by other actions.
2007-06-29Death to RCS tags.Adam Jackson5-11/+0
2007-05-24Fix build of composite, dix, and randr when Xinerama is disabled.Luo Jie1-0/+2
2007-03-27Disable composite when Xinerama is active.Eric Anholt1-0/+5
It will likely take a decent bit of work to make that work right.
2007-03-27Disable Composite when the screen's visual is pseudocolor.Eric Anholt1-2/+15
Rendering fails badly in this case, and I don't care enough to fix it.
2007-03-27Refuse to initialize Composite if Render is not present.Eric Anholt1-0/+6
Composite relies on the presence of Render, in particular for the automatic compositing.
2007-03-25Static cleanups, dead code deletion.Adam Jackson4-25/+10
2006-12-15Convert callers of LookupWindow() to dixLookupWindow().Eamon Walsh1-3/+3
2006-12-05Bug #9219: Use pWin->viewable instead of pWin->realized to catch InputOnly ↵Aaron Plattner1-1/+1
windows too.
2006-12-05Bug #9219: Return BadMatch when trying to name the backing pixmap of an ↵Aaron Plattner1-1/+4
unrealized window. Before this change, ProcCompositeNameWindowPixmap would name the screen pixmap if !pWin->realized.
2006-08-08Add CompositeRegisterAlternateVisuals.Aaron Plattner3-12/+49
This provides drivers the ability to add their own alternate visuals and then register them with Composite for implicit redirection.