Most of this is just removing driver-visible entrypoints from the ABI, moving implementations closer to their consumers, and marking things static where appropriate.
13 and 15 are a bit more interesting, removing "fast paths" that actually end up being pessimizations. I'm a little hesitant about that; I've only benchmarked the changes on relatively modern Intel CPUs. It's possible that CPUs with a different memory latency hierarchy do in fact benefit from special-casing the even paths. (I'm also making the assumption that the "odd" code is a functional superset of the "even" code, which seems plausible, but I've not verified that with xts yet.) Regrettably the performance data I have on this is on a machine at home and I'm at XDC, and it takes about an hour to do an appropriate x11perf run, so while I'll happily come up with the data I don't have it immediately handy. 12 removes the 64-bit-wide path from fb. I had previously attempted to make it build, but it seems not to be worth the effort. text data bss dec hex filename 1805302 42330 62016 1909648 1d2390 hw/vfb/Xvfb.before 1796488 41882 62016 1900386 1cff62 hw/vfb/Xvfb.after b/fb/Makefile.am | 2 b/fb/fb.h | 338 -------------------------- b/fb/fbbits.c | 12 b/fb/fbblt.c | 271 --------------------- b/fb/fbbltone.c | 314 ++++++++++-------------- b/fb/fbfill.c | 84 ++++++ b/fb/fbgc.c | 83 ------ b/fb/fbglyph.c | 8 b/fb/fbline.c | 4 b/fb/fbpict.c | 10 b/fb/fbpict.h | 4 b/fb/fbpoint.c | 2 b/fb/fbpush.c | 4 b/fb/fbrop.h | 10 b/fb/fbseg.c | 22 - b/fb/fbutil.c | 308 ----------------------- b/fb/wfbrename.h | 22 - b/hw/xfree86/sdksyms.sh | 3 b/mi/Makefile.am | 11 b/mi/mi.h | 16 - b/mi/miarc.c | 205 +++++++++++++++ b/mi/midash.c | 1 b/mi/mifillarc.c | 5 b/mi/mifillarc.h | 9 b/mi/mifpoly.h | 42 --- b/mi/mipointer.c | 14 + b/mi/mipoly.c | 619 +++++++++++++++++++++++++++++++++++++++++++++++- b/mi/mipoly.h | 20 - b/mi/miwideline.c | 526 ++++++++++++++++++++++++++++++++++++++++ b/mi/miwideline.h | 26 -- fb/fbstipple.c | 264 -------------------- fb/fbtile.c | 163 ------------ mi/micursor.c | 68 ----- mi/mifpolycon.c | 249 ------------------- mi/mipolycon.c | 235 ------------------ mi/mipolygen.c | 213 ---------------- mi/mipolyutil.c | 369 ---------------------------- mi/mispans.c | 526 ---------------------------------------- mi/mispans.h | 87 ------ 39 files changed, 1593 insertions(+), 3576 deletions(-) - ajax _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel