From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1NZiHT-00034T-5W for mharc-grub-devel@gnu.org; Tue, 26 Jan 2010 05:04:19 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NZiHR-000349-1u for grub-devel@gnu.org; Tue, 26 Jan 2010 05:04:17 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NZiHM-00033c-8F for grub-devel@gnu.org; Tue, 26 Jan 2010 05:04:16 -0500 Received: from [199.232.76.173] (port=42491 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NZiHL-00033V-Mu for grub-devel@gnu.org; Tue, 26 Jan 2010 05:04:12 -0500 Received: from mail-fx0-f216.google.com ([209.85.220.216]:63700) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NZiHK-00045Z-UW for grub-devel@gnu.org; Tue, 26 Jan 2010 05:04:11 -0500 Received: by fxm8 with SMTP id 8so3501083fxm.26 for ; Tue, 26 Jan 2010 02:04:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:in-reply-to :references:content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=5XOAcplhjCRoOTvWiIClpm8rXY/kVv12pRdyNRkx6v0=; b=c+TGjsObqQX3tPqXgb6THstf3UHaS37oCYUHhGYe21ejelubuBoznaTBTdeD4jXOQg E6muL3bVybWzAa9MsA4iPIS8+2QYMUt+fVvT0OYeUw1v3xDNXcJtccPALw+5R82PstZE GK7ldiWOGnYB9YL9JW1k5QTTdfZd+TEqgKGnY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:in-reply-to:references:content-type:date:message-id :mime-version:x-mailer:content-transfer-encoding; b=ouZjCFI4vQXzRzuhwnGSpdWP8LgbJ6HQPopeiVbNte6K6UTnjfm/wi3iftQcvnkrJy HPJ4Z/o7nUxU2UbNDV5WBeJbxgDqRUYYkHxzbnp0zJNX6tIq64T1S9LZzAkpgGTjqz4s 7/DAksx/ZzadTjDz7RFfSPq3Q114hTZRrT5xg= Received: by 10.87.71.39 with SMTP id y39mr2087629fgk.6.1264500249778; Tue, 26 Jan 2010 02:04:09 -0800 (PST) Received: from ?78.140.16.69? ([78.140.16.69]) by mx.google.com with ESMTPS id 3sm8915485fge.6.2010.01.26.02.04.08 (version=SSLv3 cipher=RC4-MD5); Tue, 26 Jan 2010 02:04:09 -0800 (PST) From: Evgeny Kolesnikov To: The development of GNU GRUB In-Reply-To: <4B5EB1A5.5040200@gmail.com> References: <4B585690.8090602@gmail.com> <1264160815.29881.61.camel@EK> <4B5EB1A5.5040200@gmail.com> Content-Type: text/plain; charset="UTF-8" Date: Tue, 26 Jan 2010 16:04:07 +0600 Message-ID: <1264500247.3195.22.camel@EK> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Content-Transfer-Encoding: 7bit X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Subject: Re: Antialiased fonts patch. X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Jan 2010 10:04:17 -0000 Hi, > At first I was completely against antialiasing support because of > performance impact. But it being optional decreases the later. However > there is one problem: your patch relies on text_layer to be RGBA8888 > which was a mistake. RGBA8888 for text layer is vastly inefficient > especially on 16-bit framebuffer and CPUs with small cache. I had plans > to switch it to indexed color. Do you really need 8bits and 4 aren't > enough? I use 8-bit in order to give GRUB ability to look and feel exactly as other parts of OS, so yes, 8 bits are required. If one can't allow this for his system - he can use 1-bit fonts. I don't really care about such situation just because other parts of desktop on such a system will be awful too. > If 4 are enough we could make text_layer IA44 (indexed-4 bits, > alpha 4 bits) if you need 8 bits we can do IA88. I'm not sure which one > is faster: firs one is more cache-efficient, second one requires less > ALU. Are you interested in implementing this? Actually I'm planning to add 32-bit AA (heh-heh). Sub-pixel AA for LCD monitors for complete match with xorg capabilities. And this just can't be done in indexed mode. So I can suggest to make division: 1-bit & indexed text layer vs 8(32)-bit & RGBA layer. First is for speed, second (and third) is for beauty (BURG project is already interested in - Bean, help me :)). Doing it half-way will be nor fast nor appealing. And yes, I'm interested in doing it in most effective way: blitter, optimizations etc., just give me the direction. > > Everything my path does is: > > > > 1) Enriches grub-mkfont with ability to write (and debug with -vv) > > pff3 (as I call it now) font format. There are 2 differences between > > pff2 and pff3 formats: FILE magic (PFF2 becomes PFF3) and DATA block > > entires size multiples by 8 (1bit -> 8bit). In other words PFF3 stores > > 8-bit alpha channel instead of 1-bit. > > And grub-mkfont will still be able to generate pff2, of course. > > > > > And by default grub-mkfont should generate not antialiased font for > performance reasons. But user or theme creator can choose to use > antialiased fonts if they wish. It's exactly the way my patch does it. AA is optional and used explicitly.