summaryrefslogtreecommitdiff
path: root/fb
AgeCommit message (Collapse)AuthorFilesLines
2009-07-09Reserve space for two GC values in copy_drawable().Soren Sandmann Pedersen1-1/+1
Pointed out by Pierre Willenbrock.
2009-07-06Use IncludeInferiors when copying windows before compositing.Søren Sandmann Pedersen1-3/+4
Part of bug 22484.
2009-06-18Fix clipping when windows are used as sourcesSøren Sandmann Pedersen3-24/+101
The new clipping rules: - client clips happen after transformation - pixels unavailable due to the hierarchy are undefined The first one is implemented in pixman; the second one is realized by making a copy of window sources (to prevent out-of-bounds access).
2009-05-10Make compositing with transformed windows work again.Søren Sandmann Pedersen1-16/+8
The coordinate translation was broken in pretty much every way imaginable.
2009-04-29Fix most remaining deprecated resource lookups.Eamon Walsh1-2/+4
Callsites updated to use dixLookupResourceBy{Type,Class}. TODO: Audit access modes to make sure they reflect the usage.
2009-02-11fb: add fbDoCopy and fbCopyRegion compatibility wrappers.Maarten Maathuis2-0/+73
2009-02-06fb: move some code to miMaarten Maathuis5-367/+7
2008-12-07Use libtool convenience libraries and better "symbol" table.Paulo Cesar Pereira de Andrade1-0/+2
All .a libraries were converted to .la, and instead of linking the Xorg binary with a mix of .a and .la, and adding some libraries more then once in the command line, etc, now it generates a single libxorg.la from all the required convenience libraries, and links with a dummy xorg.c (that should usually be the file with the main function...). This removes the requirement of some things like libosandcommon and libinit, that existed to circumvent problems when linking multiple .a and .la in the final Xorg binary. The "symbol table" is now generated dynamically, by a shell script, with an embedded gawk parser that parses cpp output. The new file sdksyms.sh is generated by hand by analyzing all Makefile.am's and making it create a sdksyms.c file, that includes all sdk headers that will add symbols for the Xorg binary. Module headers aren't read, and a in 2 files it was required to add a "<hash>ifndef XorgLoader" around declarations shared between the Xorg binary and libextmod. A few other changes were added to other sdk headers, like preventing multiple inclusion, or including other headers to satisfy dependencies. This should be a lot more portable, and better (hopefully properly) using libtool to generate convenience libraries.
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade36-338/+339
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-12-02Add visibility flags to XSERVER_CFLAGS.Paulo Cesar Pereira de Andrade2-8/+8
This is done to actually change DIX_CFLAGS, as not all "modules" use XORG_CFLAGS. Also export the symbols that are required by other modules after the change.
2008-11-30Remove declarations of symbols that are never defined.Paulo Cesar Pereira de Andrade2-24/+0
These symbols were removed from the X Server, or never declared. One symbol that may need special attention is XkbBuildCoreState(), that doesn't have a prototype anywhere, but is called from xkb/xkbEvents.c:XkbFilterEvents(), and also used by the macros XkbStateFieldFromRec() and XkbGrabStateFromRec() defined in include/xkbstr.h. fb/wfbrename.h also may need some cleanup, as it makes several "renames" of non existing symbols.
2008-11-29Export symbols defined in the sdk.Paulo Cesar Pereira de Andrade30-159/+159
This is the biggest "visibility" patch. Instead of doing a "export" symbol on demand, export everything in the sdk, so that if some module fails due to an unresolved symbol, it is because it is using a symbol not in the sdk. Most exported symbols shouldn't really be made visible, neither advertised in the sdk, as they are only used by a single shared object. Symbols in the sdk (or referenced in sdk macros), but not defined anywhere include: XkbBuildCoreState() XkbInitialMap XkbXIUnsupported XkbCheckActionVMods() XkbSendCompatNotify() XkbDDXFakePointerButton() XkbDDXApplyConfig() _XkbStrCaseCmp() _XkbErrMessages[] _XkbErrCode _XkbErrLocation _XkbErrData XkbAccessXDetailText() XkbNKNDetailMaskText() XkbLookupGroupAndLevel() XkbInitAtoms() XkbGetOrderedDrawables() XkbFreeOrderedDrawables() XkbConvertXkbComponents() XkbWriteXKBSemantics() XkbWriteXKBLayout() XkbWriteXKBKeymap() XkbWriteXKBFile() XkbWriteCFile() XkbWriteXKMFile() XkbWriteToServer() XkbMergeFile() XkmFindTOCEntry() XkmReadFileSection() XkmReadFileSectionName() InitExtInput() xf86CheckButton() xf86SwitchCoreDevice() RamDacSetGamma() RamDacRestoreDACValues() xf86Bpp xf86ConfigPix24 xf86MouseCflags[] xf86SupportedMouseTypes[] xf86NumMouseTypes xf86ChangeBusIndex() xf86EntityEnter() xf86EntityLeave() xf86WrapperInit() xf86RingBell() xf86findOptionBoolean() xf86debugListOptions() LoadSubModuleLocal() LoaderSymbolLocal() getInt10Rec() xf86CurrentScreen xf86ReallocatePciResources() xf86NewSerialNumber() xf86RandRSetInitialMode() fbCompositeSolidMask_nx1xn fbCompositeSolidMask_nx8888x0565C fbCompositeSolidMask_nx8888x8888C fbCompositeSolidMask_nx8x0565 fbCompositeSolidMask_nx8x0888 fbCompositeSolidMask_nx8x8888 fbCompositeSrc_0565x0565 fbCompositeSrc_8888x0565 fbCompositeSrc_8888x0888 fbCompositeSrc_8888x8888 fbCompositeSrcAdd_1000x1000 fbCompositeSrcAdd_8000x8000 fbCompositeSrcAdd_8888x8888 fbGeneration fbIn fbOver fbOver24 fbOverlayGeneration fbRasterizeEdges fbRestoreAreas fbSaveAreas composeFunctions VBEBuildVbeModeList() VBECalcVbeModeIndex() TIramdac3030CalculateMNPForClock() shadowBufPtr shadowFindBuf() miRRGetScreenInfo() RRSetScreenConfig() RRModePruneUnused() PixmanImageFromPicture() extern int miPointerGetMotionEvents() miClipPicture() miRasterizeTriangle() fbPush1toN() fbInitializeBackingStore() ddxBeforeReset() SetupSprite() InitSprite() DGADeliverEvent() SPECIAL CASES o defined as _X_INTERNAL xf86NewInputDevice() o defined as static fbGCPrivateKey fbOverlayScreenPrivateKey fbScreenPrivateKey fbWinPrivateKey o defined in libXfont.so, but declared in xorg/dixfont.h GetGlyphs() QueryGlyphExtents() QueryTextExtents() ParseGlyphCachingMode() InitGlyphCaching() SetGlyphCachingMode()
2008-11-28Make visible symbols required by xorg modules.Paulo Cesar Pereira de Andrade2-2/+2
This patch exports all symbols required by the compilable (in a x86 linux computer) xorg/driver/* modules. Still missing symbols worth mentioning are: sunleo miFindMaxBand no longer available intel (uxa/uxa-accel.c) fbShmPutImage no longer available (and should have been static) mga MGAGetClientPointer (should come from matrox's libhal) This is not a definitive "visibility" patch, as all it does is to export missing symbols, but the modules that current don't compile, may require more symbols once fixed, and third party drivers should also require more symbols exported. A "definitive" patch should export symbols defined in the sdk.
2008-10-03Partially reverts commit 505c216d030a8eb6e9fa757ecebed9597a850c88.Jeremy Huddleston1-0/+250
I don't know how the hell git-cherrypick messed that up to delete fbwindow.c
2008-10-03Added dep on applewmproto 1.1.0Jeremy Huddleston1-250/+0
(cherry picked from commit b350b066740a2e72585153e35478538cf1bca9ef)
2008-10-02Fix bad preprocessor lineAdam Jackson1-1/+1
2008-08-28Prepare for array-index based devPrivates.Tomas Carnecky2-4/+10
TODO: static indices can be made just an int; some indices can be combined.
2008-07-23Unifdef sgi.Adam Jackson1-2/+1
2008-07-17Dead code removalDaniel Stone4-14/+0
Remove a whole bunch of code that was never built, be it entire files or just dead ifdefs.
2008-06-24Check for __amd64__, not __x86_64__.Adam Jackson1-1/+1
Spiritual revert of 1fa4de80fcfc697b5e5879cc351fb3e9dbf6acbe. Intel's C compiler claims to be gcc-compatible; if they're not defining the same macros as gcc then that's their bug, not ours. Even if we were to do this aliasing we should do it once and for all in servermd.h.
2008-06-20Bug #12414: Create full-fledged pixmaps in fb24_32ReformatTile().Adam Jackson1-6/+4
... instead of creating pixmaps that only fb knows about, which will have no devPrivates for any other subsystem and thus cause havoc if (when) they leak out.
2008-06-13Fix "warning: passing argument 1 of 'pixman_fill' from incompatible pointer ↵Eamon Walsh1-1/+1
type".
2008-06-13Death to mfb.Adam Jackson1-3/+0
Anyone still interested in 1 or 4 bpp framebuffers, talk to fb.
2008-05-20fb: shut up two compiler warnings.Peter Hutterer2-1/+3
2008-04-19Removed fbpseudocolor.h from sdk_HEADERS.Tilman Sauerbeck1-1/+1
2008-04-19Remove fbpseudocolorAdam Jackson4-2279/+1
"An experimental pseudocolor emulation layer. Not fully completed, currently only works for 16bpp." That was almost four years ago. It still doesn't work, only one driver even attempts to use it, it contains an ad-hoc implementation of damage, and should really be done up in Composite now anyway.
2008-04-12Check for __x86_64__ when we check for __amd64__Matt Turner1-1/+1
It seems Intel C Compiler neglects to define __amd64__, __amd64, or amd64, but *does* define __x86_64__.
2008-02-22fbFillRegionTiled() is now dead code.Adam Jackson3-71/+0
Only ever called from the old PaintWindow* screen hooks, but those are gone now. As a pleasant side effect, fb loses its #ifdef PANORAMIX.
2007-12-13Merge branch 'master' into XACE-SELINUXEamon Walsh1-3/+0
Conflicts: Xext/EVI.c Xext/bigreq.c Xext/cup.c Xext/dpms.c Xext/fontcache.c Xext/mitmisc.c Xext/xcmisc.c Xext/xf86bigfont.c Xext/xtest.c configure.ac dbe/dbe.c hw/darwin/darwin.h hw/darwin/darwinEvents.c hw/darwin/iokit/xfIOKit.h hw/darwin/iokit/xfIOKitCursor.c hw/darwin/quartz/fullscreen/fullscreen.c hw/darwin/quartz/fullscreen/quartzCursor.c hw/darwin/quartz/quartz.c hw/darwin/quartz/quartzCommon.h hw/darwin/quartz/quartzCursor.c hw/darwin/quartz/xpr/dri.c hw/darwin/quartz/xpr/dristruct.h hw/darwin/quartz/xpr/xprCursor.c hw/darwin/quartz/xpr/xprFrame.c hw/xfree86/modes/xf86RandR12.c include/cursor.h miext/rootless/rootlessCommon.h miext/rootless/rootlessScreen.c miext/rootless/rootlessWindow.c render/picturestr.h Trying to pick up the pieces from the darwin churn here...
2007-12-02Clean up many #if 0.Adam Jackson1-3/+0
2007-11-20Remove some duplicate include statements.Eamon Walsh1-1/+0
2007-11-19Merge branch 'master' into XACE-SELINUXEamon Walsh3-4/+8
Conflicts: hw/xnest/Pixmap.c include/dix.h
2007-11-15Save pixmap allocation hints into the PixmapRec.Aaron Plattner3-4/+8
2007-11-05Merge branch 'master' into XACE-SELINUXEamon Walsh5-17/+19
Conflicts: dix/dispatch.c dix/property.c hw/xfree86/common/xf86VidMode.c include/xkbsrv.h render/glyph.c xkb/xkbActions.c
2007-11-05fb: Remove usage of allocaDaniel Stone2-13/+13
Replace with heap storage.
2007-11-04Add CreatePixmap allocation hints.Aaron Plattner4-4/+6
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-17Merge branch 'master' into XACE-SELINUXEamon Walsh2-4/+41
Conflicts: os/access.c
2007-10-02fbcmap_mi.c: add a missing apiDodji Seketeli1-0/+8
* fb/fbcmap_mi.c: (fbSetVisualTypesAndMasks): added this entry point that was missing. This is useful so that servers using this entry point can use fbcmap_mi.c, and be obliged to stick to fbcmap.c. Note that fbcmap.c does implement this entry point. Up to now, kdrive based server could not use fbcmap_mi.c because this entry point was missing. The will allow Xephyr to properly use GL.
2007-09-27Add the FB_ACCESS_WRAPPER checksAlan Hourihane1-0/+10
2007-09-27Fix bug #12286Alan Hourihane1-4/+23
2007-09-19Merge branch 'master' into XACE-SELINUXEamon Walsh7-146/+0
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 Anholt7-146/+0
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-08-28devPrivates rework: since API is already broken, switch everythingEamon Walsh9-116/+64
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-28Merge branch 'master' into XACE-SELINUXEamon Walsh8-110/+23
Conflicts: include/miscstruct.h mi/mibstore.c mi/midispcur.c os/Makefile.am
2007-08-25Implement core protocol backing store exclusively in terms of Composite.Adam Jackson4-87/+0
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-08-23Revert "Revert "Require pixman 0.9.5; Use pixman_image_set_source_clipping() ↵Søren Sandmann Pedersen1-0/+1
to fix"" since the pixman changes have been pushed now. This reverts commit 57f7f2a5327a2d967a726bb4706e4f6b2f4b2cea.
2007-08-22Revert "Require pixman 0.9.5; Use pixman_image_set_source_clipping() to fix"Eric Anholt1-1/+0
The corresponding pixman code hasn't been pushed, so revert until the code is ready. This reverts commit 53941c8e68014619d3ded7f8bc0f07d9a38bb9b1.
2007-08-22Revert "Fix <pixman.h> include to <pixman/pixman.h>"Eric Anholt1-1/+1
The pixman headers have been located under pixman-1/ instead of pixman/ since around 2007-08-06, and pixman-1.pc has the updated include paths to account for this. This reverts commit feb1b3e45513bd6eaa2e6a5ee536183f20d9cb68.
2007-08-22Fix <pixman.h> include to <pixman/pixman.h>Alan Hourihane1-1/+1
2007-08-21Require pixman 0.9.5; Use pixman_image_set_source_clipping() to fixSøren Sandmann Pedersen1-0/+1
bug 11620 (reported by Jens Stroebel.