opnsense-src/sys/dev/syscons
Bruce Evans ddac85e5a0 Further unobfuscate the method of drawing the mouse cursor in vga planar
mode.

Don't manually unroll the 2 inner loops.  On Haswell, doing so gave a
speedup of about 0.5% (about 4 cycles per iteration out of 1400), but
hard-coded a limit of width 9 and made better better optimizations
harder to see.  gcc-4.2.1 -O does the unrolling anyway, unless tricked
with a volatile hack.  gcc's unrolling is not very good and gives a
a speedup of about half as much (about 2 cycles per iteration).  (All
timing on i386.)

Manual unrolling was only feasible because the inner loop only iterates
once or twice.  Usually twice, but a dynamic check is needed to decide,
and was not moved from the second-innermost loop manually or by gcc.
This commit basically adds another dynamic check in the inner loop.

Cursor widths of 10-17 require 3 iterations in the inner loop and this
is not so easy to unroll -- even gcc stops at 2.
2017-04-14 12:03:34 +00:00
..
apm
blank Convert files to UTF-8 2012-01-15 13:23:18 +00:00
daemon Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
dragon Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
fade Convert files to UTF-8 2012-01-15 13:23:18 +00:00
fire Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
green Convert files to UTF-8 2012-01-15 13:23:18 +00:00
logo Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
plasma Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
rain Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
snake Convert files to UTF-8 2012-01-15 13:23:18 +00:00
star Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
warp Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
scgfbrndr.c Special rendering methods for removing mouse cursors cannot be removed 2017-04-10 06:19:09 +00:00
schistory.c Piggyback MIPS changes and add ARM syscons support for devices with 2012-08-25 23:59:31 +00:00
scmouse.c Trival style fix to previous commit to add this detail. 2017-04-12 17:38:00 +00:00
scterm-teken.c Fix clobbering of the default attribute and the screen position in 2017-04-12 16:21:55 +00:00
scterm.c
scvesactl.c - Teach vesa(4) and dpms(4) about x86emu. [1] 2009-09-09 09:50:31 +00:00
scvgarndr.c Further unobfuscate the method of drawing the mouse cursor in vga planar 2017-04-14 12:03:34 +00:00
scvidctl.c Remove pc98 support completely. 2017-01-28 02:22:15 +00:00
scvtb.c
syscons.c The switch to kernel terminal context needs to update more than the cursor 2017-03-29 14:46:26 +00:00
syscons.h Fix removal of the keyboard cursor image in text mode, especially 2017-04-08 08:24:25 +00:00
sysmouse.c [evdev] Adds evdev support to sysmouse(4) driver 2016-12-10 18:07:16 +00:00