On 03/29/14 15:35, Aleksandr Rybalko wrote:
On Sat, 29 Mar 2014 09:18:03 -0700
Nathan Whitehorn <nwhiteh...@freebsd.org> wrote:
On 03/28/14 15:04, Aleksandr Rybalko wrote:
Author: ray
Date: Fri Mar 28 22:04:27 2014
New Revision: 263885
URL: http://svnweb.freebsd.org/changeset/base/263885
Log:
o Add new vd_driver method to do bitblt with mask, named
vd_maskbitbltchr. o Move vd_bitbltchr vga's driver method to
vd_maskbitbltchr. o Implement new vd_bitbltchr method for vga
driver. (It do single write for 8 pixels, have to be a bit faster).
Can you describe what this does? From the commit message, it sounds
like it might repair vt performance on cards with 8-bit framebuffers
generally, but I can't figure out the code.
-Nathan
Hi Nathan!
np, it is result of our discussion with jhibbits@.
vt(4) have to use bitblt like method which is able to do masked write,
since mouse cursor have to left visible characters under itself.
But masked bitblt quite expensive due to read from framebuffer to apply
mask or due to VGA graphics mode problem (described here [1], lot of
small read and writes which can't be well optimized).
Characters can be drown with simple (not masked) method, so vd_bitbltchr
used most frequently.
Mouse cursor only one (at least vt(4) can care about one :) ). And
currently mouse support only single consumer for masked method.
I did both methods have same set of arguments, to not reimplement
vd_bitbltchr method for all drivers. And driver can implement only
vd_bitbltchr or both. W/o vd_maskbitbltchr, vd_bitbltchr will be used.
Currently only one driver implement both methods, it is vt_vga.
Its not masked method do write 8 pixels at once, but masked method
continue to use 1 bit at once.
Other drivers (f.e. vt_ofwfb) in TODO list.
Thanks!
[1]http://lists.freebsd.org/pipermail/freebsd-arch/2014-March/015108.html
WBW
Very nice! I noticed that vt_efifb has precisely the same slow scrolling
issue on my Haswell laptop as vt_ofwfb, so I'm quite excited about this.
Thanks for all your work on this.
-nathan
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"