summaryrefslogtreecommitdiff
path: root/render/picturestr.h
AgeCommit message (Collapse)AuthorFilesLines
2012-03-27Introduce a consistent coding styleKeith Packard1-379/+323
This is strictly the application of the script 'x-indent-all.sh' from util/modular. Compared to the patch that Daniel posted in January, I've added a few indent flags: -bap -psl -T PrivatePtr -T pmWait -T _XFUNCPROTOBEGIN -T _XFUNCPROTOEND -T _X_EXPORT The typedefs were needed to make the output of sdksyms.sh match the previous output, otherwise, the code is formatted badly enough that sdksyms.sh generates incorrect output. The generated code was compared with the previous version and found to be essentially identical -- "assert" line numbers and BUILD_TIME were the only differences found. The comparison was done with this script: dir1=$1 dir2=$2 for dir in $dir1 $dir2; do (cd $dir && find . -name '*.o' | while read file; do dir=`dirname $file` base=`basename $file .o` dump=$dir/$base.dump objdump -d $file > $dump done) done find $dir1 -name '*.dump' | while read dump; do otherdump=`echo $dump | sed "s;$dir1;$dir2;"` diff -u $dump $otherdump done Signed-off-by: Keith Packard <keithp@keithp.com> Acked-by: Daniel Stone <daniel@fooishbar.org> Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com> (cherry picked from commit 9838b7032ea9792bec21af424c53c07078636d21)
2011-11-23Fix gcc -Wwrite-strings warnings in various extensionsAlan Coopersmith1-3/+3
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-10-18render: export TriStrip and TriFan to the driversChris Wilson1-0/+21
Rather than perform an intermediate copy and expand the strip and the fan into a triangle list (thereby tripling the number of edges that the driver needs to process), allow the backend to hook directly into the appropriate Composite function. In order to extend the PictureScreen, without needlessly bumping the ABI, we move the existing copy implementations to mipict.c and assign those by default. To notify the ddx that the new entry points are available, we introduce PICTURE_SCREEN_VERSION. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
2011-04-22render: Remove unused TriStrip and TriFan typedefsSøren Sandmann Pedersen1-18/+0
Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-04-22render: Remove unused fields in the source picture structsSøren Sandmann Pedersen1-25/+0
The fields class, stopRange, colorTable and colorTableSize are not used by any current code. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-04-22render: Delete PictureGradientColor()Søren Sandmann Pedersen1-5/+0
PictureGradientColor(), INTERPOLATE_PIXEL_256() and premultiply() are not used by anything. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Soren Sandmann <ssp@redhat.com>
2011-03-14Remove TriStrip and TriFan from the picture screenSøren Sandmann Pedersen1-2/+0
These functions no longer go through the screen vtable, so remove them and fix up the various wrappers. Reviewed-by: Adam Jackson <ajax@redhat.com> Acked-by: Keith Packard <keithp@keithp.com> Signed-off-by: Soren Sandmann <ssp@redhat.com>
2010-11-30render: repack PictureRecAdam Jackson1-8/+7
Eliminate the unused dither field, move filter and stateChanges into the bitfield, and reorder elements to pack holes on LP64. sizeof(PictureRec) ILP32 LP64 before: 84 152 after: 72 120 Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-06-05Make GetPictureScreenIfSet check if Render is runningKeith Packard1-1/+1
This macro originally checked to see if the Render screen private index had been allocated. When the privates were changed the first time, there wasn't any need to check as dixLookupPrivate would simply return NULL in that case. Now that we care, check to see if the key has been initialized before asking for the value. Reviewed-by: Jamey Sharp <jamey@minilop.net> Signed-off-by: Keith Packard <keithp@keithp.com>
2010-06-05Change the devPrivates API to require dixRegisterPrivateKeyKeith Packard1-2/+6
This patch only changes the API, not the implementation of the devPrivates infrastructure. This will permit a new devPrivates implementation to be layed into the server without requiring simultaneous changes in every devPrivates user. Signed-off-by: Keith Packard <keithp@keithp.com> Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-05-19Add typed resource-lookup errors for non-core resource types.Jamey Sharp1-1/+1
Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Adam Jackson <ajax@redhat.com>
2010-05-07VERIFY_PICTURE always returns BadPicture. Don't bother specifying.Jamey Sharp1-4/+4
Same goes for VERIFY_ALPHA, VERIFY_XIN_PICTURE, and VERIFY_XIN_ALPHA. Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
2009-08-28render: AnimCurInit and AnimCursorCreate shouldn't be _X_EXPORTTiago Vignatti1-2/+2
Pointed by Peter Hutterer on xorg-devel ml. Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2009-04-29Fix most remaining deprecated resource lookups.Eamon Walsh1-5/+4
Callsites updated to use dixLookupResourceBy{Type,Class}. TODO: Audit access modes to make sure they reflect the usage.
2008-12-03Rework symbol visibility for easier maintenancePaulo Cesar Pereira de Andrade1-57/+57
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 Andrade1-4/+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-25Move matrix operations from X server to pixman 0.13.2Keith Packard1-114/+6
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 Packard1-1/+1
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 Packard1-4/+1
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 Packard1-0/+63
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-24Add matrix inversion function (uses doubles)Keith Packard1-0/+3
The obvious matrix inversion function, coded using doubles to avoid fiddling with fixed point precision adventures.
2008-11-24Add kernel size to Render filters.Keith Packard1-2/+6
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 Packard1-2/+7
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 Packard1-3/+8
2008-11-24Export a bunch of matrix operations from render.Keith Packard1-8/+63
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-08-27Remove unused GetGlyphPrivatesForScreen.Eamon Walsh1-3/+0
2007-12-13Merge branch 'master' into XACE-SELINUXEamon Walsh1-6/+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-6/+0
2007-10-25Merge branch 'master' into XACE-SELINUXEamon Walsh1-1/+1
Conflicts: GL/glx/glxscreens.c hw/xnest/Screen.c render/glyph.c render/glyphstr.h render/render.c
2007-10-19Replace calls to Glyphs screen hook with CompositeGlyphs and remove dead code.Eric Anholt1-1/+1
Not all of the DDX/miext Glyphs hook implementations have been removed, but they should be.
2007-09-19Merge branch 'master' into XACE-SELINUXEamon Walsh1-1/+1
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-08-31Bug #7364: Require renderproto 0.9.3 on 64-bit, and fix build with it.Eric Anholt1-1/+1
2007-08-31xace: add hooks + new access codes: Render extensionEamon Walsh1-1/+1
2007-08-28devPrivates rework: since API is already broken, switch everythingEamon Walsh1-31/+11
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-25Refactor PictureInitIndexedFormats.Adam Jackson1-1/+1
The plural version is now static, which is fine since it was only ever called from within picture post-init anyway. The body of the work is now done with a one-shot (public) function that operates on a single format at a time.
2007-06-29Death to RCS tags.Adam Jackson1-2/+0
2007-06-11Don't pass regions to pixman_image_composite() anymore.Søren Sandmann Pedersen1-0/+4
2007-05-15Use pixman short formats, revert the gradient_stop changeSoren Sandmann Pedersen1-1/+4
2007-05-15Use pixman types for transforms and vectorsSoren Sandmann Pedersen1-11/+3
2007-04-23Gradient fixesSoren Sandmann Pedersen1-7/+16
* Port fix for bug 7685 from pixman. Patch by Carl Worth * Add projective version of radial gradient code. * Make sure that all Pict*Gradient types have PictGradient as prefix, since code in various places relies on that.
2007-04-19Merge David Reveman's gradient optimization patch from pixmanSoren Sandmann Pedersen1-4/+22
2006-07-03Bug #7366: Fix crashes when setting filters on source pictures.Eric Anholt1-0/+5
Now, filters may only be set on source pictures when the filter is common to all screens. Also, like SetPictureTransform, ChangePictureFilter is now not called on source pictures.
2006-07-03Bug #7366: Fix two crashes in operations on source pictures.Eric Anholt1-0/+5
A screen's ChangePictureTransform now isn't called when changing the transform, as source pictures aren't associated with screens. Also, attempting to set an AlphaMap to a source picture will fail with BadMatch just like a Window would, preventing another crash.
2006-06-19Convert PICT_* names from #defines to an enum to aid in debugging.Eric Anholt1-1/+1
2006-01-03Add glyph privates for Xgl, which uses them to implement a glyph cache. EXAEric Anholt1-0/+17
would probably also like to do this. This breaks module ABI for EXA and XAA, and likely breaks proprietary drivers as well.
2005-12-09Bug #5258: Restore binary compatibility with 6.8.2's PictureRec. (AaronAdam Jackson1-2/+3
Plattner)
2005-08-24Remove use of dix-config and xorg-config.h from public headers.Daniel Stone1-4/+0
2005-07-03Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.Daniel Stone1-0/+4
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings. Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all source files in the xserver/xorg tree, predicated on defines of HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to <X11/fonts/foo.h>.
2005-07-01Add support for gradients and solid fills to Render.Lars Knoll1-2/+101
Changed the semantics of the Convolution filter a bit. It now doesn't try to normalize the filter values but leaves this to the client. This gives more reasonable behaviour in the limit where the filter parameters sum up to 0.
2005-06-15Fix projective transformations in fbcompose.c Bugfix for convolutionLars Knoll1-0/+4
filters