summaryrefslogtreecommitdiff
path: root/exa
AgeCommit message (Collapse)AuthorFilesLines
2009-07-26EXA: Only pass CT_YXBANDED to RECTS_TO_REGION() if that is really true.Michel Dänzer1-1/+11
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=22642 . (cherry picked from commit 35758544813f156eaac28844e693b2a28f6de316) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-06-29EXA: Always damage glyph cache pixmap manually after uploading a glyph.Michel Dänzer1-36/+37
Signed-off-by: Michel Dänzer <daenzer@vmware.com> (cherry picked from commit 7c8327f0a75087a85864256a9cea80dd4b86def5) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-06-29EXA: Take GC client clip type into account for migration.Michel Dänzer4-24/+25
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=18950 . Signed-off-by: Michel Dänzer <daenzer@vmware.com> (cherry picked from commit 850675d4de4373e5df95507dbf2cd9affaaf54bc) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-05-08EXA: Guard empty pending region warning by DEBUG_MIGRATE.Michel Dänzer1-0/+2
It isn't very useful yet while the damage layer calls us for empty operations, mostly confuses users. (cherry picked from commit 3948b523893d3d44b6a088340c4252e969613769) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-05-08EXA: Handle separate alpha maps properly in Composite fallback, take two.Michel Dänzer3-1/+51
Preserve the EXA ABI by introducing a new driver flag EXA_SUPPORTS_PREPARE_AUX. If the driver doesn't set this flag, we have to assume any Prepare/FinishAccess driver hooks can't handle the EXA_PREPARE_AUX* indices, so we move out such pixmaps at PrepareAccess time. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=18710 . Signed-off-by: Michel Dänzer <daenzer@vmware.com> (cherry picked from commit 4cfb36f6ad2df01215028fec48d99239a0e4496b) Signed-off-by: Keith Packard <keithp@keithp.com>
2009-02-25exa: kill of exaImageGlyphBltMaarten Maathuis1-134/+1
- It serves no obvious purpose, yet it directly accesses many fb symbols. (cherry picked from commit 5cc67ae94c066dcac78072ad8a819c3b602d8bab)
2009-01-30EXA: Declare glyph cache picture as component-alpha when necessary.Michel Dänzer1-3/+6
Without this, rendering component-alpha glyphs may break without a mask. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=19233 . (cherry picked from commit 639f289dcdbe00a516820f573c01a8339e120ed4)
2009-01-09exa: preparing as source and finishing access as mask is a bad ideaMaarten Maathuis1-2/+2
(cherry picked from commit 027b440d4f9f0cdd46addff46fd2d5c44cd5c847)
2009-01-09exa: Allow drivers to set non-NULL devPrivate.ptr for !offscreen pixmaps.Maarten Maathuis1-1/+5
(cherry picked from commit 3534a5e5d9c5af85149c799f324257f89507fa23)
2008-11-17exa: avoid doing prepare/done without intervening copies in exaFillRegionTiledDave Airlie1-22/+39
This does a precursor check to make sure the copies are required before entering the prepare/done code.
2008-11-17EXA: avoid copy operations if no boxes in useDave Airlie1-0/+4
Simple fix for now, I'm sure damage shouldn't be calling us with nbox = 0.
2008-11-08Fix typos which caused exaCompositeRects() to use an incorrect damage region.Michel Dänzer1-3/+3
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=18065 . Also, it can bail if either width or height of the bounding box is <= 0, not only if both of them are.
2008-10-23Wrap AddTraps in exa and damage.Keith Packard3-0/+26
This fine (and unused) function wasn't ever wrapped which made it not work under exa. (cherry picked from commit 06e7e1d0486e8c516a9b3219a2c86026f88825fc)
2008-10-21exa: Add exaDrawableIsOffscreen() to the driver API.Adam Jackson2-3/+2
2008-10-20EXA: Avoid excessive syncing in PutImageMichel Dänzer1-2/+4
2008-10-15exa: restore {x,y}{Src,Dst} to their original values when !doneMaarten Maathuis1-0/+6
2008-10-07exa: don't call composite routines with no buffer.Dave Airlie1-6/+8
We can get a case with gnome-terminal + links, where we get two arrays of glyphs all with 0 width and 0 heights in them. If this happens we manage to get to this case without any buffer setup and segfault.
2008-10-03exa: remove "direct" case for exa{Trapezoids,Triangles}Maarten Maathuis1-84/+7
- By adding a small hack to the xserver i was able to easily test the performance of the normally rare direct case (using cairo). - It turned out to be 70% slower for me (large test on an otherwise idle computer), which seems enough of a reason to remove it. - AddTraps could also use a 2nd look, but since noone is using that it's a bit hard and less useful to test.
2008-10-03exa: remove some excessive whitespaceMaarten Maathuis2-11/+10
2008-09-26exa: make sure pixmap devPrivate.ptr is NULL at create timeDave Airlie1-0/+3
2008-09-16exa: disable shared pixmapsJulien Cristau1-0/+10
They got re-enabled in ee7c684f21d220d5e046bab31ae617a7d64d60f6 ("Reimplement ShmPutImage.")
2008-09-01exa: drop cw.h inclusionDave Airlie3-3/+0
this doesn't seem to be needed, at least I can't see any warning without it. I'd like to build EXA into a driver and cw.h isn't exported
2008-08-31damage: choose less ambiguous function namesMaarten Maathuis1-7/+7
2008-08-29{damage,exa}: sanitise damageMaarten Maathuis4-83/+26
- 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 Carnecky1-2/+4
TODO: static indices can be made just an int; some indices can be combined.
2008-08-28Reimplement ShmPutImage.Adam Jackson3-104/+0
There's no reason to not just dispatch this straight into the GC. As a bonus, if you do so, damage wraps correctly, and thus swcursor works. The side effect is it's no longer possible to override ShmPutImage with ShmRegisterFuncs(). Also remove the (broken) damage tracking for same from EXA, since it didn't work right, and is now superfluous.
2008-08-26exa: fix thinko from 988725f32e082aee9392a71464125157a83d1e67Maarten Maathuis4-8/+8
- the drawable of the pixmap is not the same as the original drawable (possibly a DRAWABLE_WINDOW)
2008-08-26exa: some minor cleanupMaarten Maathuis3-17/+25
- Fix compile warning - Order exa.h by source file that exports the function. - Move the function i created earlier to private headers.
2008-08-26exa: report damage manually for exa{Trapezoids,Triangles} when neededMaarten Maathuis1-6/+16
- Plus a micro cleanup of unused variables.
2008-08-26exa: move destination damage for internal calls to a special functionMaarten Maathuis4-40/+48
- This should improve clarity for someone who isn't familiar with the code.
2008-08-26exa_glyphs: remove useless offsetMaarten Maathuis1-7/+6
2008-08-19exa: remove useless cache{X,Y}off from UploadToScreen() arguments.Maarten Maathuis1-2/+3
2008-08-19EXA: Inline Prepare/FinishAccessWindow into only caller, ChangeWindowAttributes.Michel Dänzer2-27/+12
Also check the requested mask in addition to the GC state before doing work.
2008-08-19EXA: Don't use exaGlyphs if the driver doesn't provide a PrepareComposite hook.Michel Dänzer1-4/+8
It's buggy without Composite acceleration (leading to cropped glyphs) and not really useful in that case anyway. The bug probably still needs to be found and fixed for drivers that provide a PrepareComposite hook but can't accelerate text rendering though.
2008-08-17exa: fix assert logic thinko from 361a9eb953aaa38f8ebc057185de29e50f9eef26Maarten Maathuis1-1/+1
- I guess failing PrepareAccess is rare, since this a 3 year old bug.
2008-08-08EXA: Make sure damage tracking code is inactive if the driver manages pixmaps.Michel Dänzer4-124/+153
It was always supposed to be like that... It was only recently pointed out (in a rather convoluted way) that it was not in fact the case.
2008-08-05EXA: Remove unnecessary #includesDaniel Stone2-4/+0
There wasn't actually any font code here, so no problem.
2008-07-31EXA: Do still return FALSE if the driver PrepareCopy hook failed...Michel Dänzer1-1/+3
Thanks to Stuart Bennett for pointing out the problem on IRC.
2008-07-31EXA: Fix exponential growth logic for GXcopy tiled fills.Michel Dänzer1-3/+4
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16908 .
2008-07-31EXA: Simplify exaFillRegionTiled() control flow.Michel Dänzer1-13/+11
Also only call REGION_TRANSLATE() when necessary.
2008-07-30EXA: Optimize GXcopy tiled fills.Michel Dänzer1-7/+53
2008-07-30EXA: Replace open coded CopyArea logic with GC op call.Michel Dänzer1-12/+6
2008-06-18Set driverPriv immediately on CreatePixmap.Alan Hourihane1-8/+6
If it's NULL anyway, we bail, if not, it lets ModifyPixmapHeader know about the private.
2008-06-06EXA: Fix exaGetPixmapFirstPixel() crash if the driver has a CreatePixmap hook.Michel Dänzer1-1/+3
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16243
2008-05-24EXA: Only record damage generated by rendering operations.Michel Dänzer5-4/+31
Recording damage from other operations (e.g. creating a client damage record) may confuse the migration code resulting in corruption. Option "EXAOptimizeMigration" appears safe now, so enable it by default. Also remove it from the manpage, as it should only be necessary on request in the course of bug report diagnostics anymore.
2008-05-24EXA: Don't migrate twice in exaImageGlyphBlt.Michel Dänzer1-12/+2
exaPrepareAccess already handles migration.
2008-05-24EXA: Don't suggest exaCopyDirty be inlined.Michel Dänzer1-1/+1
Leave the decision to the compiler toolchain.
2008-05-24EXA: Specify region used for source pixmap migration in exaCopyNtoN.Michel Dänzer1-21/+31
Avoids excessive migration overhead in some pathological cases. See http://bugs.freedesktop.org/show_bug.cgi?id=15845 .
2008-05-01EXA: Fall back in CompositeRects if the driver can't accelerate Composite.Michel Dänzer1-0/+3
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=15780 .
2008-04-28EXA: Try to accelerate non-antialiased text via the glyph cache as well.Michel Dänzer1-0/+15
Treat 1 bit glyphs and masks as PICT_a8 in the glyph cache. We're not able to accelerate them otherwise.