Date: Tue, 19 Aug 2014 14:18:11 -0700 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: freebsd-current@freebsd.org Subject: Re: r269471 make unusable VT console Message-ID: <53F3BF13.7040208@freebsd.org> In-Reply-To: <53F39F3D.9010104@FreeBSD.org> References: <20140812232807.0f3aa02570becec15e056af2@fbsd.es> <20140816011444.301a98d6187aca27e3a2481b@ddteam.net> <CAJ-Vmon3OS3fY1VoHu1n_T=N9NN64U7ZsxdbCkWsXAGbdMhp0g@mail.gmail.com> <53EE9CFF.4080607@freebsd.org> <53F30DF3.1090301@dumbbell.fr> <53F37B2D.3070807@FreeBSD.org> <53F38D8E.8090605@freebsd.org> <53F39F3D.9010104@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08/19/14 12:02, Jean-Sébastien Pédron wrote: > On 19.08.2014 19:46, Nathan Whitehorn wrote: >> On 08/19/14 09:28, Jean-Sébastien Pédron wrote: >>> o vt_vga introduces a new callback, vd_bitblt_text_t, which takes >>> as argument the text buffer, the dirty area, the font and the >>> cursor (position, map, colors). >> Why is this necessary? I'd really prefer to avoid complicating this API. >> One of the great things about writing newcons drivers is that there is >> basically only one function you need to implement. If the current API >> does not provide enough information to do this efficiently, I'd much >> rather change it than add new callbacks. > I don't want to have two callbacks for the same feature either, and I'd > like to transition other drivers to this new one. > > The current bitbltchr callback only knows about one character. In the > case of vt_vga, if this character (or the cursor) isn't aligned on > 8-pixels boundaries, it needs to redraw several "blocks" of pixels. With > this character-centric approach, if a block needs a redraw, it'll be > refreshed for the character on its left side, then refreshed again for > the character on its right side. > > The advantage of giving the callback the whole text/area is that it > allows the driver to manipulate the pixels block by block, instead of > character by character. > > The patch isn't finished yet. Meanwhile, I'll commit the bug fixes I > made (especially the cursor handling in vt_flush()). But eventually, the > plan is to convert all drivers to this new callback, if you find the new > API sensible. > That sounds great. There are only a few (3?) discrete implementations of bitbltchr in the tree right now, so the conversion should be easy. -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53F3BF13.7040208>