summaryrefslogtreecommitdiff
path: root/composite
AgeCommit message (Collapse)AuthorFilesLines
2009-12-18Add type name argument to CreateNewResourceTypeAlan Coopersmith1-9/+6
Convert all calls of CreateNewResourceType to pass name argument Breaks DIX ABI. ABI versions bumped: Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2009-12-18Ensure all resource types created have names registeredAlan Coopersmith1-0/+6
Calls RegisterResourceName to record the type name for use by X-Resource, XACE/SELinux/XTsol, and DTrace. Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Reviewed-by: Keith Packard <keithp@keithp.com>
2009-12-16Update Sun license notices to current X.Org standard formAlan Coopersmith6-126/+90
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-10-09composite: Revert changes from adding support for BGRA picture formats.Michel Dänzer1-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>
2009-10-08Cast small-int values through intptr_t when passed as pointersJamey Sharp1-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>
2009-09-30dix/glx/composite: consolidate visual resize in one place.Dave Airlie1-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>
2009-09-21input: define server-supported protocol versions in one single file.Peter Hutterer1-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>
2009-08-20composite: Move screen init before extension registration.Adam Jackson1-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.
2009-08-04Add support for RENDER BGRA formats.Michel Dänzer1-1/+3
2009-05-15Correct some Sun license notices to Sun's standard X11 license formatAlan Coopersmith6-102/+144
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-04-27Export CompositeRegisterAlternateVisuals.Aaron Plattner4-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.
2009-04-14composite: Fix resource lookupsKristian Høgsberg2-60/+35
2009-04-03Set bg pixmap of composite overlay window to None (#20912)Havoc Pennington1-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.
2009-03-09Replace dixLookupResource by dixLookupResourceBy{Type,Class}Keith Packard1-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.
2009-03-06Composite: Uninitialized borderClipX/borderClipYPeter Åstrand1-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?
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-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).
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.