summaryrefslogtreecommitdiff
path: root/composite
Commit message (Collapse)AuthorAgeFilesLines
* composite: Revert changes from adding support for BGRA picture formats.Michel Dänzer2009-10-091-3/+1
| | | | | | | | | | They were aimed towards a since abandoned approach for making radeon KMS work on big endian machines, and Aaron Plattner pointed out that they break the Composite extension when the X server runs in 16bpp. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Tested-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Keith Packard <keithp@keithp.com>
* Cast small-int values through intptr_t when passed as pointersJamey Sharp2009-10-081-2/+2
| | | | | | | | | | | | On 64-bit systems, int and pointers don't have the same size, so GCC gives warnings about casts between int and pointer types. However, in the cases covered by this patch, it's always a value that fits in int being stored temporarily as a pointer and then converted back later, which is safe. Casting through the pointer-sized integer type intptr_t convinces the compiler that this is OK. Signed-off-by: Jamey Sharp <jamey@minilop.net> Signed-off-by: Daniel Stone <daniel@fooishbar.org>
* dix/glx/composite: consolidate visual resize in one place.Dave Airlie2009-09-301-55/+4
| | | | | | | | | | | | | | | | | | The previous code was copied and in both cases incorrectly fixed up the colormaps after resizing the visuals, this patch consolidates the visual resize + colormaps fixups in one place. This version also consolidates the vid allocation for the DepthPtr inside the function. I'm not 100% sure colormap.[ch] is the correct place for this but visuals are mostly created in fb and I know thats not the place to be resizing them. Fixes fd.o bug #19470. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* input: define server-supported protocol versions in one single file.Peter Hutterer2009-09-211-6/+4
| | | | | | | | | | | | | include/protocol-versions.h specifies each extension version as supported by the server and sent back on the wire to the client. This fixes up several issues with the server potentially reporting a higher version of the protocol if recompiled against a newer version of the protocol. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Rémi Cardona <remi@gentoo.org> Acked-by: Julien Cristau <jcristau@debian.org>
* composite: Move screen init before extension registration.Adam Jackson2009-08-201-3/+5
| | | | | | Otherwise, you'd still advertise the extension even if no screens actually supported it, and the first Composite protocol request would probably crash.
* Add support for RENDER BGRA formats.Michel Dänzer2009-08-041-1/+3
|
* Correct some Sun license notices to Sun's standard X11 license formatAlan Coopersmith2009-05-156-102/+144
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
* Export CompositeRegisterAlternateVisuals.Aaron Plattner2009-04-274-4/+43
| | | | | Drivers need this if they add visuals that require implicit redirection. Add a new SDK header, compositeext.h, to contain the prototype for this function.
* composite: Fix resource lookupsKristian Høgsberg2009-04-142-60/+35
|
* Set bg pixmap of composite overlay window to None (#20912)Havoc Pennington2009-04-031-2/+2
| | | | | | | Otherwise it's impossible to get the COW without a white flash on the screen, because it's on top, mapped immediately, and unaffected by composite redirection. This makes initial login ugly when it doesn't need to be.
* Replace dixLookupResource by dixLookupResourceBy{Type,Class}Keith Packard2009-03-091-5/+5
| | | | | | | dixLookupResource attempted to automatically detect whether the caller wanted a lookup by-type or by-class, unfortunately, it guessed wrong for RT_NONE. Instead of trying to make the guess better, this patch just reverts the unification and creates separate functions for each operation.
* Composite: Uninitialized borderClipX/borderClipYPeter Åstrand2009-03-061-0/+2
| | | | | | Valgrind warned me about two other uninitialized variables, which are not padding. Valgrind output at the end. I'm a bit unsure of what these should be initialized to, is zero fine?
* Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade2008-12-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Save in a few special cases, _X_EXPORT should not be used in C source files. Instead, it should be used in headers, and the proper C source include that header. Some special cases are symbols that need to be shared between modules, but not expected to be used by external drivers, and symbols that are accessible via LoaderSymbol/dlopen. This patch also adds conditionally some new sdk header files, depending on extensions enabled. These files were added to match pattern for other extensions/modules, that is, have the headers "deciding" symbol visibility in the sdk. These headers are: o Xext/panoramiXsrv.h, Xext/panoramiX.h o fbpict.h (unconditionally) o vidmodeproc.h o mioverlay.h (unconditionally, used only by xaa) o xfixes.h (unconditionally, symbols required by dri2) LoaderSymbol and similar functions now don't have different prototypes, in loaderProcs.h and xf86Module.h, so that both headers can be included, without the need of defining IN_LOADER. xf86NewInputDevice() device prototype readded to xf86Xinput.h, but not exported (and with a comment about it).
* Switching from Automatic to Manual redirect needs to unmap/remapKeith Packard2008-09-191-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>
* Conditionalize Composite-based backing store on pScreen->backingStoreSupport.Aaron Plattner2008-09-171-1/+2
| | | | (cherry picked from commit 37876602957924c7cff759a800eddd574ee2385a)
* damage: choose less ambiguous function namesMaarten Maathuis2008-08-312-3/+3
|
* {damage,exa}: sanitise damageMaarten Maathuis2008-08-292-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.
* Prepare for array-index based devPrivates.Tomas Carnecky2008-08-282-4/+8
| | | | | | TODO: static indices can be made just an int; some indices can be combined.
* Remove all empty extension reset hooks, replace with NULL.Adam Jackson2008-07-241-6/+1
|
* Bug #15586: (Correctly) refuse to redirect the root window.Adam Jackson2008-06-241-0/+3
|
* Prevent the -wm command line option from causing a SEGVJames Cloos2008-05-121-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
* Clean up whitespaceJames Cloos2008-05-121-35/+35
|
* Rework composite overlay window code to fix several resource management bugs.Keith Packard2008-05-045-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.
* XACE: Adjust the location of the COMPOSITE creation hook.Eamon Walsh2008-02-281-2/+2
| | | | Avoids incrementing the refcnt if the hook fails.
* XACE: Call the creation hook to properly label COMPOSITE window pixmaps.Eamon Walsh2008-02-281-0/+6
|
* XACE: Fix instances of DixUnknownAccess at hook callsites.Eamon Walsh2008-02-281-1/+1
|
* Resize composite overlay window when the root window changes.Maarten Maathuis2008-02-171-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().
* Revert "registry: Register composite extension protocol names."Eamon Walsh2007-11-201-20/+0
| | | | | | This reverts commit 166ef972febc00c665e1d5aeb68e75d7bbcf9879. Moving all the names into dix/registry.c
* Merge branch 'master' into XACE-SELINUXEamon Walsh2007-11-051-1/+2
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: dix/dispatch.c dix/property.c hw/xfree86/common/xf86VidMode.c include/xkbsrv.h render/glyph.c xkb/xkbActions.c
| * Add CreatePixmap allocation hints.Aaron Plattner2007-11-041-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.
* | registry: Register composite extension protocol names.Eamon Walsh2007-10-151-0/+20
| |
* | Merge branch 'master' into XACE-SELINUXEamon Walsh2007-09-261-0/+6
|\ \ | |/ | | | | | | | | Conflicts: dix/devices.c
| * Set noCompositeExtension to TRUE when failing to initialize the extension ↵Aaron Plattner2007-09-201-0/+6
| | | | | | | | (e.g. when Xinerama is enabled).
* | Merge branch 'master' into XACE-SELINUXEamon Walsh2007-09-194-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.
| * Remove the PaintWindow optimization.Eric Anholt2007-09-133-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.
| * [COMPOSITE] Composite used for pixmap population on redirect. (Bug #7447)Keith Packard2007-09-013-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.
* | xace: add new fields to resource access hook to allow parent resource objectsEamon Walsh2007-09-051-1/+1
| | | | | | | | to be passed in at create time. Also added a missing devPrivates initializer.
* | xace: add hooks + new access codes: Composite extensionEamon Walsh2007-08-311-15/+32
| |
* | devPrivates rework: since API is already broken, switch everythingEamon Walsh2007-08-284-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.
* Implement core protocol backing store exclusively in terms of Composite.Adam Jackson2007-08-252-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.
* Don't fail compScreenInit if the driver added its own alternate visuals.Aaron Plattner2007-07-311-1/+2
|
* Refactor how Composite adds visuals to the screen.Adam Jackson2007-07-181-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.
* Redirect fix: Manual + Automatic - Manual = AutomaticKeith Packard2007-07-101-0/+1
| | | | | A window with redirect manual *and* redirect automatic which loses the manual redirecting client becomes redirect automatic.
* Fix regression from recent composite changes.Michel Dänzer2007-07-091-1/+1
| | | | | One pWin->redirectDraw test was converted incorrectly, causing incorrect rendering in some cases.
* Have Composite always report server version.Keith Packard2007-07-031-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.
* Force advertised Composite version to 0.4 instead of using header version.Keith Packard2007-07-031-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.
* Make Composite manual redirect windows not clip their parent.Keith Packard2007-07-032-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.
* Death to RCS tags.Adam Jackson2007-06-295-11/+0
|
* Fix build of composite, dix, and randr when Xinerama is disabled.Luo Jie2007-05-241-0/+2
|
* Disable composite when Xinerama is active.Eric Anholt2007-03-271-0/+5
| | | | It will likely take a decent bit of work to make that work right.