From owner-svn-src-all@FreeBSD.ORG Wed Apr 2 02:48:43 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E5028495; Wed, 2 Apr 2014 02:48:43 +0000 (UTC) Received: from i3mail.icecube.wisc.edu (i3mail.icecube.wisc.edu [128.104.255.23]) by mx1.freebsd.org (Postfix) with ESMTP id B55A9B80; Wed, 2 Apr 2014 02:48:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by i3mail.icecube.wisc.edu (Postfix) with ESMTP id 9D8BB38060; Tue, 1 Apr 2014 21:38:56 -0500 (CDT) X-Virus-Scanned: amavisd-new at icecube.wisc.edu Received: from i3mail.icecube.wisc.edu ([127.0.0.1]) by localhost (i3mail.icecube.wisc.edu [127.0.0.1]) (amavisd-new, port 10030) with ESMTP id 4BPfkLGngZ3x; Tue, 1 Apr 2014 21:38:56 -0500 (CDT) Received: from comporellon.tachypleus.net (polaris.tachypleus.net [75.101.50.44]) by i3mail.icecube.wisc.edu (Postfix) with ESMTPSA id A56F43805E; Tue, 1 Apr 2014 21:38:55 -0500 (CDT) Message-ID: <533B783E.50707@freebsd.org> Date: Tue, 01 Apr 2014 19:38:54 -0700 From: Nathan Whitehorn User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Aleksandr Rybalko Subject: Re: svn commit: r263885 - in head/sys/dev/vt: . hw/vga References: <201403282204.s2SM4SeN001155@svn.freebsd.org> <5336F23B.9080402@freebsd.org> <20140330003523.791b9ed3.ray@freebsd.org> In-Reply-To: <20140330003523.791b9ed3.ray@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Apr 2014 02:48:44 -0000 On 03/29/14 15:35, Aleksandr Rybalko wrote: > On Sat, 29 Mar 2014 09:18:03 -0700 > Nathan Whitehorn 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