summaryrefslogtreecommitdiff
path: root/render
AgeCommit message (Collapse)AuthorFilesLines
2009-02-16xserver: Avoid sending uninitialized padding data over the networkPeter Åstrand1-1/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-03render: rename SetBit to RenderSetBit.Peter Hutterer1-5/+5
Avoiding namespace collision with the SetBit macro soon to be used in the input code. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-12Remove #define NEED_EVENTS and NEED_REPLIESPeter Hutterer1-2/+0
A grep on xorg/* revealed there's no consumer of this define. Quote Alan Coopersmith: "The consumer was in past versions of the headers now located in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h, all the event definitions were only available if NEED_EVENTS were defined, and all the reply definitions required NEED_REPLIES. Looks like Xproto.h dropped them by X11R6.3, which didn't have the #ifdef's anymore, so these are truly ancient now." Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
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 Andrade17-221/+221
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-11-30Remove declarations of symbols that are never defined.Paulo Cesar Pereira de Andrade2-18/+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 Andrade9-90/+90
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-25Move matrix operations from X server to pixman 0.13.2Keith Packard3-665/+14
pixman 0.13.2 now holds all of the matrix operations. This leaves the protocol conversion routines and some ABI stubs in place Signed-off-by: Keith Packard <keithp@keithp.com>
2008-11-24Handle transform failure when computing shadow damage area.Keith Packard2-4/+5
PictureTransformBounds can fail, when this happens, damage the entire screen so that the shadow gets repainted correctly.
2008-11-24Avoid overflow in PictureTransformPoint. Fix PictureTransformIsIdentity.Keith Packard2-41/+22
PictureTransformPoint computes homogeneous coordinates internally, but fails to handle intermediate values larger than 16.16. Use 64 bit intermediate values while computing the final result at 16.16 and only complain if that result is too large. PictureTransformIsIdentity was completely wrong -- it was not checking for identity transforms at all.
2008-11-24Handle RandR transform matrices in floating point.Keith Packard2-72/+315
RandR matrix computations lose too much precision in fixed point; computations using the inverted matrix can be as much as 10 pixels off. Convert them to double precision values and pass those around. These API changes are fairly heavyweight; the official Render interface remains fixed point, so the fixed point matrix comes along for the ride everywhere.
2008-11-24When converting from double to fixed, round carefully.Keith Packard1-3/+4
This reduces the matrix representation error after inverting a transformation matrix (although it doesn't eliminate it entirely). Perhaps we should extend Render to include 64-bit floating point transforms...
2008-11-24Add matrix inversion function (uses doubles)Keith Packard2-0/+83
The obvious matrix inversion function, coded using doubles to avoid fiddling with fixed point precision adventures.
2008-11-24Correct bilinear filter kernel size (should be 2x2)Keith Packard1-1/+1
2008-11-24Add kernel size to Render filters.Keith Packard2-9/+26
This width/height value lets filter users know how far the filter spreads into the source image.
2008-11-24[render] Split out filter finding from filter setting.Keith Packard2-19/+47
To prepare for RandR using filters in transforms, split out code paths so that the RandR code can validate the filter name and parameters during the transform set operation so that use of the filter later will not have unreportable errors.
2008-11-24Add funcs to convert between protocol and pixman matricesKeith Packard2-4/+43
2008-11-24Export a bunch of matrix operations from render.Keith Packard4-72/+415
The render extension uses many matrix operations internally, this change exposes those functions to other parts of the server, drivers and extensions. The change is motivated by the 'transform' additions to the RandR extension but will likely be useful elsewhere.
2008-10-31Move MAX_DEVICES to misc.h, rename to MAXDEVICES for consistency.Peter Hutterer1-2/+2
2008-10-06Build fix.Adam Jackson1-2/+2
2008-10-06xalloc+memset(0) -> xcallocAdam Jackson2-4/+2
2008-10-06xalloc+bzero -> xcallocAdam Jackson2-6/+3
2008-09-23Revert "Render: Use built-in SHA1 library"Keith Packard4-240/+28
This reverts commit d3bd31fddff7894f89ba80a3cdddff49aff08db8. X.org should not be providing a custom SHA1 implementation.
2008-09-23Render: Use built-in SHA1 libraryJohn Tapsell4-28/+240
Getting an external library for SHA1 is a mess, so just use our own, regrettably. Public domain implementation.
2008-08-28Prepare for array-index based devPrivates.Tomas Carnecky3-4/+9
TODO: static indices can be made just an int; some indices can be combined.
2008-08-27Remove unused GetGlyphPrivatesForScreen.Eamon Walsh2-11/+0
2008-08-20Centralize declaration of ConnectionInfo.Adam Jackson1-2/+0
2008-07-24Remove all empty extension reset hooks, replace with NULL.Adam Jackson1-9/+1
2008-07-22Don't return BadAlloc when trying to set a PictureFilter with no parameters ↵Pierre-Loup A. Griffais1-1/+1
when a filter with parameters was previously set. Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
2008-06-24Bug #15369: Don't reduce Over to Src for transform + RepeatNone.Owen Taylor1-2/+14
Only do no-src-alpha optimizations for a RepeatNone source if we can easily probe that we won't sample outside the edges of the source.
2008-06-11CVE-2008-2362 - RENDER Extension memory corruptionMatthieu Herrb1-4/+12
Integer overflows can occur in the code validating the parameters for the SProcRenderCreateLinearGradient, SProcRenderCreateRadialGradient and SProcRenderCreateConicalGradient functions, leading to memory corruption by swapping bytes outside of the intended request parameters.
2008-06-11CVE-2008-2361 - RENDER Extension crashMatthieu Herrb1-0/+2
An integer overflow may occur in the computation of the size of the glyph to be allocated by the ProcRenderCreateCursor() function which will cause less memory to be allocated than expected, leading later to dereferencing un-mapped memory, causing a crash of the X server.
2008-06-11CVE-2008-2360 - RENDER Extension heap buffer overflowMatthieu Herrb1-2/+9
An integer overflow may occur in the computation of the size of the glyph to be allocated by the AllocateGlyph() function which will cause less memory to be allocated than expected, leading to later heap overflow.
2008-06-09CreateColormap returns Success on success, not TRUE.Aaron Plattner1-2/+3
Fixes a problem where enabling color index overlays disables the RENDER extension.
2008-05-20Merge branch 'master' into mpxPeter Hutterer1-2/+15
Conflicts: Xext/xprint.c (removed in master) config/hal.c dix/main.c hw/kdrive/ati/ati_cursor.c (removed in master) hw/kdrive/i810/i810_cursor.c (removed in master) hw/xprint/ddxInit.c (removed in master) xkb/ddxLoad.c
2008-05-13render: don't dereference cursor if cursor is NULL.Peter Hutterer1-1/+1
2008-05-06Allow using libmd instead of libcrypto for SHA1 hashing in render/glyph.cAlan Coopersmith1-2/+15
Builders can force one or the other by passing SHA1_LIB & SHA1_CFLAGS to configure
2008-04-07Merge branch 'master' into dcdc_reworkPeter Hutterer1-0/+2
Conflicts: Xext/xevie.c dix/dispatch.c
2008-02-29Bug #10463: Always initialize reference pixel before AllocColor()Chris Wilson1-0/+2
2008-01-03Merge branch 'master' into mpxPeter Hutterer8-691/+162
Conflicts: XTrap/xtrapddmi.c Xext/security.c Xext/xprint.c Xext/xtest.c Xext/xvdisp.c Xi/exevents.c Xi/grabdevb.c Xi/grabdevk.c Xi/opendev.c Xi/ungrdev.c Xi/ungrdevb.c Xi/ungrdevk.c dix/cursor.c dix/devices.c dix/dixutils.c dix/events.c dix/getevents.c dix/main.c dix/window.c hw/xfree86/ramdac/xf86Cursor.c include/dix.h include/input.h include/inputstr.h mi/midispcur.c mi/miinitext.c mi/misprite.c render/animcur.c xfixes/cursor.c xkb/xkbAccessX.c
2007-12-13Merge branch 'master' into XACE-SELINUXEamon Walsh3-126/+2
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 Jackson2-124/+0
2007-11-20Revert "registry: Register RENDER extension protocol names."Eamon Walsh1-90/+0
This reverts commit 8964c6d8e14ae47798762191e359b2bf138ca32e. Moving all the names into dix/registry.c
2007-11-19Merge branch 'master' into XACE-SELINUXEamon Walsh1-1/+1
Conflicts: hw/xnest/Pixmap.c include/dix.h
2007-11-15Fix a really dumb typo.Aaron Plattner1-1/+1
2007-11-07Merge branch 'master' into mpxPeter Hutterer12-417/+495
Conflicts: Xi/extinit.c Xi/grabdev.c Xi/setmode.c Xi/ungrdev.c dix/devices.c dix/events.c dix/getevents.c include/dix.h mi/midispcur.c mi/misprite.c xkb/xkbActions.c xkb/xkbEvents.c xkb/xkbPrKeyEv.c
2007-11-05Merge branch 'master' into XACE-SELINUXEamon Walsh6-58/+60
Conflicts: dix/dispatch.c dix/property.c hw/xfree86/common/xf86VidMode.c include/xkbsrv.h render/glyph.c xkb/xkbActions.c
2007-11-05Render: Remove usage of allocaDaniel Stone2-26/+26
Replace it with heap-based allocations.
2007-11-04Add CreatePixmap allocation hints.Aaron Plattner4-6/+9
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-26Restore the CompositeGlyphs -> ps->Glyphs -> miGlyphs callchain to allow ↵Aaron Plattner2-25/+24
acceleration architectures to wrap above miGlyphs.