Commit Graph

2233 Commits

Author SHA1 Message Date
Eric Anholt
fdcacc5a4b Add Polylines and PolyPoint acceleration as well. This is primarily to
clean up fallback debugging output, so I can focus on more imporant
    cases. Performance is comparable but without hardware stalls, and
    passes Xlib9.
2006-04-28 03:27:12 +00:00
Eric Anholt
005529a1c9 Correct some bugs causing performance issues in the "Smart" scheme. 2006-04-28 03:26:30 +00:00
Eric Anholt
8738bc295b Improve EXA fallback debugging output to include the locations of pixmaps.
This is being used in tracking down recent compositing performance
    regressions.
2006-04-27 20:27:27 +00:00
Eric Anholt
83b061776a Add trivial PolySegment acceleration for 0-width horizontal/vertical lines,
which still happen somewhat frequently and were cluttering up my
    fallback debugging output. x11perf says it's a major performance win in
    those cases (though probably irrelevant), and it passes Xlib9.
2006-04-27 19:17:34 +00:00
Eric Anholt
69164ec00c In drawing glyphs, shortcut our way to exaComposite instead of going
through the whole CompositePicture stack and doing things like
    computing damage over again. This is a sizeable win for text drawing
    with a compmgr. Also avoid calling down into the server for dealing
    with the scratch pixmap when we are able to do UploadToScreen
    successfully and never need it.
2006-04-27 02:15:19 +00:00
Eric Anholt
3d4ca57b69 Add a helper for the Component Alpha Over case, which breaks the operation
down into an OutReverse and an Add. Turn off the fallback to software
    glyphs when component alpha, now that we expect all (new) drivers to be
    able to support it. Also, make Xephyr fall back in the CA Over case to
    exercise this code. This speeds up my rgb24text and ls -lR in
    gnome-terminal by a factor of 5.
2006-04-26 18:27:40 +00:00
Dave Airlie
26fa45b642 Bug #6751: Use the Linux PCI ROM interface on Linux properly. The old
domain code, still modified BARs not a good idea, Just talk to sysfs,
    if 0 read, fallback to old methods.
2006-04-26 11:40:58 +00:00
Dave Airlie
c339b221d3 Bug #6750: This patch detects Intel bridges that are transparent but aren't
reported as such. From the Linux kernel fixups. This patch also removes
    the reserved BIOS area from the area to allocate resources in.
2006-04-26 11:31:07 +00:00
Eric Anholt
6d156c0440 Improve the migration debugging output. 2006-04-26 01:33:15 +00:00
Eric Anholt
eaed7545a2 Fix a bug in the intersection computation that could concievably cause
incorrect results to be returned (but would probably usually be
    over-conservative).
2006-04-26 01:32:55 +00:00
Eric Anholt
5d00859c6e Bug #4668: Check if the lists of glyphs don't have any intersecting glyphs,
and if they all have a maskFormat matching the format of the actual
    glyphs If so, we can avoid the temporary pixmap for accumulating
    glyphs, which reduces the number of operations done, and makes it
    easier on the migration system. This fixes some significant performance
    issues, particularly with subpixel antialiasing. Note that it does
    increase the amount of damage computation which is done, so is not
    always a win with a compositing manager running.
2006-04-25 23:56:17 +00:00
Eric Anholt
074dc9a023 Add an option to verify at the point of migration that pixmaps which aren't
marked dirty are in fact not dirty. This will hopefully help catch
    issues like the previous commit. Leave it on in fakexa.
2006-04-25 16:47:23 +00:00
Eric Anholt
702d9226d5 Don't forget to mark the drawable as dirty in exaPutImage(). Fixes
corruption with drivers that have UTS. (Michel Dänzer)
2006-04-25 15:46:04 +00:00
Donnie Berkholz
39ca0867c7 Remove another reference to cfb16. 2006-04-24 05:44:06 +00:00
Donnie Berkholz
81f3c2937d strlcpy() doesn't exist on Linux, so use the implementation in os/. 2006-04-24 05:39:47 +00:00
Matthieu Herrb
a715634d23 Don't access free memory after unloading a module. Bugzilla #4168. 2006-04-23 13:14:50 +00:00
Benjamin Herrenschmidt
79dc689261 When reading the kernel keyboard mapping (readKernelMapping in
os-support/linux/lnx_KbdMap.c) we overrun the usefully-named global
    array 'map', scribbling on other random static variables elsewhere.
    This is fixed by changing the size of at2lnx. (David Woodhouse). Bug
    #5169
2006-04-22 03:22:17 +00:00
Keith Packard
b37c515320 Add support for x4a4 format (depth 4 at 8bpp). Bug #6325. 2006-04-19 21:56:13 +00:00
Eric Anholt
c947d796aa Missed in previous commit: Add a new migration scheme, called "Smart" for
lack of a better name. This one behaves somewhat between Greedy and
    Always. It moves in if we can accelerate, unless the destination is
    clean and shouldn't be kept in framebuffer according to the score, in
    which case we migrate out (and force-migrate anything where migration
    is free). This should help fix lack of acceleration for drivers without
    UTS since removing exaAsyncPixmapGCOps, and has removed one performance
    trap with Radeon I'd noticed. It is the new default.
2006-04-18 19:18:43 +00:00
Eric Anholt
b17a4de83e Add a new migration scheme, called "Smart" for lack of a better name. This
one behaves somewhat between Greedy and Always. It moves in if we can
    accelerate, unless the destination is clean and shouldn't be kept in
    framebuffer according to the score, in which case we migrate out (and
    force-migrate anything where migration is free). This should help fix
    lack of acceleration for drivers without UTS since removing
    exaAsyncPixmapGCOps, and has removed one performance trap with Radeon
    I'd noticed. It is the new default.
2006-04-18 19:14:07 +00:00
Eric Anholt
771b366abe Fix exaGetPixmapFirstPixel to migrate as unaccelerated. Also adds a bit of
fallback debugging info to PolyGlyphBlt.
2006-04-18 18:50:35 +00:00
Donnie Berkholz
782d61a031 Update all prefixes in config tools, so they mostly work again. Also, make
RgbPath commented out when using xorgconfig. Start using
    /dev/input/mice as the default mouse location on Linux.
2006-04-18 17:28:44 +00:00
Donnie Berkholz
0f065059dc Wrap a couple more SDK headers in if XORG, as per Dave Airlie's commit on
2006-01-18.
2006-04-17 07:27:43 +00:00
Donnie Berkholz
ba632f697a Fix kdrive build by linking in libexa before KDRIVE_LIBS. 2006-04-17 07:10:31 +00:00
Adam Jackson
0e62d92d5b Coverity #804: Another leak on OOM path. 2006-04-14 23:43:32 +00:00
Adam Jackson
d61219aaad Coverity #806: Another memory leak on OOM path. 2006-04-14 23:38:11 +00:00
Adam Jackson
1b04e31392 Coverity #847, #848, #849: Three more memory leaks. 2006-04-14 23:32:22 +00:00
Adam Jackson
6545051902 Coverity #1003, #1004: Two more useless null checks. 2006-04-14 23:10:59 +00:00
Adam Jackson
ab1d420022 Coverity #1005: Avoid a null deref. 2006-04-14 23:09:38 +00:00
Adam Jackson
d01e0956a8 Coverity #1007: Fix a silly null check. 2006-04-14 23:08:10 +00:00
Luc Verhaegen
6d29f65931 CVT means Coordinated Video Timing instead of Common. 2006-04-14 23:01:35 +00:00
Adam Jackson
82b6ea1a4b Bug #6580: Don't install xf86drm.h, that's libdrm's job. 2006-04-14 22:51:19 +00:00
Ian Romanick
aefa347bde Fix build for added file to Mesa CVS. This is always fun. :( 2006-04-13 21:08:25 +00:00
Daniel Stone
6aadd454e7 Fix stupid thinko. 2006-04-10 10:11:19 +00:00
Daniel Stone
c9f6e60d42 Coverity #826: Fix potential memory leak. 2006-04-10 08:50:33 +00:00
Daniel Stone
1357af2474 Coverity #340: Fix potential NULL dereference. Clean up proliferation of
'register int n' in loops of ProcXkbGetNames.
2006-04-09 17:39:10 +00:00
Daniel Stone
f324be00c5 Coverity #324: Fix potential NULL dereference. (Alan Coopersmith) 2006-04-09 17:28:42 +00:00
Daniel Stone
7637aa17f2 Coverity #169: Fix potential fgets() into NULL (?!?). 2006-04-09 17:26:17 +00:00
Daniel Stone
d5bc41b882 Coverity #323, #445, #446, #447: Fix potential NULL dereferences. 2006-04-09 17:15:51 +00:00
Aaron Plattner
2387bfa5ff Bump the ABI versions. Due to Glyph privates and the XV update below, the
video driver ABI needs to be bumped to 1.0. The rest of the ABI minor
    versions were bumped to include the LoaderGetABIVersion function.
Add a DrawblePtr argument to the XV hooks. This allows drivers to determine
    that the target window is redirected and draw to the appropriate place.
2006-04-07 18:56:04 +00:00
Søren Sandmann Pedersen
dc43909219 Fri Apr 7 13:46:45 2006 Søren Sandmann <sandmann@redhat.com>
Use FreeResource instead of deleteCompOverlayClient()
2006-04-07 17:49:32 +00:00
Adam Jackson
94e7213d59 Remove libc wrapper types from Xisb interfaces. 2006-04-07 16:08:50 +00:00
Daniel Stone
47bdc9528c Coverity #844, #845, #846: Fix memory leaks. 2006-04-07 16:07:50 +00:00
Daniel Stone
2c90c3bfef Coverity #987: Avoid potential NULL dereference. 2006-04-07 15:57:17 +00:00
Daniel Stone
843146cfba Coverity #1216: Fix double-close of file on error. 2006-04-07 15:53:21 +00:00
Keith Packard
5dacc82232 Coverity #333, #334 - eliminate unncessary test for always true condition
in fbEvenStipple.
2006-04-07 02:20:11 +00:00
Adam Jackson
75a9afdbf4 Coverity #488: Avoid smashing an array on malformed config files. 2006-04-07 01:53:43 +00:00
Adam Jackson
20c1ef2cc3 Coverity #769: Fix a potential memory leak for systems that allocate on
malloc(0)
2006-04-07 01:50:07 +00:00
Adam Jackson
5ef711032b Coverity #838: Plug two more memory leaks. 2006-04-07 01:41:00 +00:00
Adam Jackson
69477ea4b6 Coverity #837: Fix another another memory leak. 2006-04-07 01:37:11 +00:00