|
From: Antonino D. <ad...@po...> - 2002-08-21 23:23:39
Attachments:
cfbimgblt.c
|
Hi, I want to address some of the limitations of cfbimgblt.c, but unfortunately I ended up practically rewriting the whole code. In theory, the code (slow_imageblit): a. supports all possible bit depths b. should be able to handle destination writes that are not aligned by an unsigned long c. should be able to handle fix->line_length not a multiple of an unsigned long d. framebuffer access is always the size of an unsigned long and aligned e. preliminary code for drawing the logo. f. added Paul Mackerra's endianness patch (plus some of my own), but I have no big-endian machine, so it's untested, and perhaps incorrect. The only tests I've done for slow_imageblit is at 8, 16, 24, and 32 bpp, and forcibly misaligning image->dx by 1 pixel. The code is slow, so I included fast_imageblit for 8, 16 and 32 bpp which is an implementation of fbcon-cfb8/16/32.c. Tony |
|
From: James S. <jsi...@in...> - 2002-08-22 18:33:20
Attachments:
cfbimgblt.c
|
> Hi, > > I want to address some of the limitations of cfbimgblt.c, but > unfortunately I ended up practically rewriting the whole code. In > theory, the code (slow_imageblit): Done. > a. supports all possible bit depths Needs to added. > b. should be able to handle destination writes that are not aligned by > an unsigned long Not added. > c. should be able to handle fix->line_length not a multiple of an > unsigned long Access is also a unsigned long but currently is not aligned. It will be fixed. > d. framebuffer access is always the size of an unsigned long and aligned Yeah!!! > e. preliminary code for drawing the logo. Paul please test the code. > f. added Paul Mackerra's endianness patch (plus some of my own), but I > have no big-endian machine, so it's untested, and perhaps incorrect. > The only tests I've done for slow_imageblit is at 8, 16, 24, and 32 bpp, > and forcibly misaligning image->dx by 1 pixel. The code is slow, so I > included fast_imageblit for 8, 16 and 32 bpp which is an implementation > of fbcon-cfb8/16/32.c. Will begin testing today. MS: (n) 1. A debilitating and surprisingly widespread affliction that renders the sufferer barely able to perform the simplest task. 2. A disease. James Simmons [jsi...@us...] ____/| fbdev/console/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U http://linuxconsole.sourceforge.net |
|
From: Paul M. <pa...@sa...> - 2002-08-24 12:36:59
|
James Simmons writes: > Paul please test the code. (The new cfbimgblt.c, that is.) It mostly seems to be fine, except there are some problems with the cursor. I have only tested it with the standard 8x16 font so far though. I had to add a #include <video/fbcon.h> near the top to get the definitions of fb_readl and fb_writel. It seems to be not erasing the cursor image when it should. So, if I am logged in on the console and I type a few characters and then press backspace a few times, it leaves those character positions entirely white. Also, when I press return it leaves the cursor image on that line as well as drawing the cursor after the shell prompt on the next line. I just tried with the old cfbimgblt.c and it also does the same thing. So it's not the new cfbimgblt.c that is doing this, it's something else in your fbcon changes (or just possibly mine :). This is with atyfb with my patches. Paul. |
|
From: Antonino D. <ad...@po...> - 2002-08-24 22:59:12
Attachments:
cfbfillrect.c
|
On Sat, 2002-08-24 at 20:33, Paul Mackerras wrote: Hi Paul, > James Simmons writes: > > > Paul please test the code. > > (The new cfbimgblt.c, that is.) > Thanks for testing the code :) > It mostly seems to be fine, except there are some problems with the > cursor. I have only tested it with the standard 8x16 font so far > though. I had to add a #include <video/fbcon.h> near the top to get > the definitions of fb_readl and fb_writel. > Can you test it with a bit depth not a multiple of 32/64? Or just force the code to always call slow_imageblit? I'm concerned about slow_imageblit not correct with big endian machines. > It seems to be not erasing the cursor image when it should. So, if I > am logged in on the console and I type a few characters and then press > backspace a few times, it leaves those character positions entirely > white. Also, when I press return it leaves the cursor image on that > line as well as drawing the cursor after the shell prompt on the next > line. > It looks like a fillrect problem. > I just tried with the old cfbimgblt.c and it also does the same > thing. So it's not the new cfbimgblt.c that is doing this, it's > something else in your fbcon changes (or just possibly mine :). This > is with atyfb with my patches. > Paul. I'm also attaching cfbfillrect.c which hopefully addresses some of the problems which Geert mentioned before (access/pitch alignment, support for all bit depths, etc). Tony PS. Sorry about the attachment, my mailer mangles inline text. |