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

Any chance you could give an example or sketch of what to do? This issue is at least doubling the boot time of my Thinkpad if I use an EFI kernel.
-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"

Reply via email to