fbdev: Advertise limitation of drawing engine
PATCH 27/41 fbdev: Advertise limitation of drawing engine
A few drivers are not capable of blitting rectangles of any dimension. vga16fb can only blit 8-pixel wide rectangles, while s3fb (in tileblitting mode) can only blit 8x16 rectangles. For example, loading a 12x22 font in vga16fb will result in a corrupt display.
Advertise this limitation/capability in info->pixmap.blit_x and blit_y. These fields are 32-bit arrays (font max is 32x32 only), ie, if bit 7 is set, then width/height of 7+1 is supported.
---
drivers/video/fbmem.c | 6 ++++++ include/linux/fb.h | 4 ++++ 2 files changed, 10 insertions(+), 0 deletions(-)
drivers/video/fbmem.c +6 -0
@@ -1321,6 +1321,12 @@ register_framebuffer(struct fb_info *fb_ } fb_info->pixmap.offset =0 ; +if (!fb_info->pixmap.blit_x) + fb_info->pixmap.blit_x = ~(u32 )0 ; + +if (!fb_info->pixmap.blit_y) + fb_info->pixmap.blit_y = ~(u32 )0 ; +if (!fb_info->modelist.prev || !fb_info->modelist.next)INIT_LIST_HEAD (&fb_info->modelist);
include/linux/fb.h +4 -0
@@ -558,6 +558,10 @@ struct fb_pixmap {u32 scan_align;/* alignment per scanline */ u32 access_align;/* alignment per read/write (bits) */ u32 flags;/* see FB_PIXMAP_* */ +u32 blit_x;/* supported bit block dimensions (1-32)*/ +u32 blit_y;/* Format: blit_x = 1 << (width - 1) */ +/* blit_y = 1 << (height - 1) */ +/* if 0, will be set to 0xffffffff (all)*/ /* access methods */ void (*writeio)(struct fb_info *info,void __iomem *dst,void *src,unsigned int size);void (*readio) (struct fb_info *info,void *dst,void __iomem *src,unsigned int size);
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
Quoted 3 lines · Antonino A. Daplas
A few drivers are not capable of blitting rectangles of any dimension. vga16fb can only blit 8-pixel wide rectangles, while s3fb (in tileblitting mode) can only blit 8x16 rectangles.
I have two new drivers which use tileblit. Where i can get diff of your tree (not splitted to fifty parts and mixed with mail) to be able to update that drivers to new interfaces? Or should i send it in current form (againts 2.6.21-rc7)?
Signature · 5 lines
Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: [email protected], jabber: [email protected]) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Linux-fbdev-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel
Quoted 7 lines · Ondrej Zajicek
Quoted 3 lines · Antonino A. Daplas
A few drivers are not capable of blitting rectangles of any dimension. vga16fb can only blit 8-pixel wide rectangles, while s3fb (in tileblitting mode) can only blit 8x16 rectangles.
I have two new drivers which use tileblit. Where i can get diff of your tree (not splitted to fifty parts and mixed with mail) to be able to
No public tree, and I don't have CVS access to fbdev-devel.
Quoted 2 lines
update that drivers to new interfaces? Or should i send it in current form (againts 2.6.21-rc7)?
You can submit it based on Linus's tree. And then we'll just create another patch on top of that (once akpm merges my changes to his tree). This way, if your driver gets to Linus's tree prior to my changes, your driver will stay working.
Tony
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
Quoted 10 lines · Antonino A. Daplas
Quoted 7 lines · Ondrej Zajicek
Quoted 3 lines · Antonino A. Daplas
A few drivers are not capable of blitting rectangles of any dimension. vga16fb can only blit 8-pixel wide rectangles, while s3fb (in tileblitting mode) can only blit 8x16 rectangles.
I have two new drivers which use tileblit. Where i can get diff of your tree (not splitted to fifty parts and mixed with mail) to be able to
No public tree, and I don't have CVS access to fbdev-devel.
That can be arranged, if you want it... ;-)
Another option is a subdirectory on
http://www.kernel.org/pub/linux/kernel/people/, where you can host a git tree, patches, ...?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
Quoted 7 lines · Geert Uytterhoeven
Quoted 6 lines · Antonino A. Daplas
Quoted 5 lines · Ondrej Zajicek
Quoted 3 lines · Antonino A. Daplas
A few drivers are not capable of blitting rectangles of any dimension. vga16fb can only blit 8-pixel wide rectangles, while s3fb (in tileblitting mode) can only blit 8x16 rectangles.
Quoted 6 lines
Quoted 4 lines
Quoted 2 lines
I have two new drivers which use tileblit. Where i can get diff of your tree (not splitted to fifty parts and mixed with mail) to be able to
No public tree, and I don't have CVS access to fbdev-devel.
That can be arranged, if you want it... ;-)
Frankly, no, I don't want the additional work of maintaining a public tree :-). Plus, fbdev is pretty much in a stable state. so merging patches based on Linus's or akpm's tree is not a problem.
But if people really want a public tree, I won't mind maintaining one.
Tony
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/