|
From: Antonino D. <ad...@po...> - 2003-03-17 12:10:46
|
On Mon, 2003-03-17 at 18:40, Petr Vandrovec wrote: > On 17 Mar 03 at 11:31, Geert Uytterhoeven wrote: > > On 17 Mar 2003, Antonino Daplas wrote: > > > As Geert said, it's not just trivial, but logical to split fb_imageblit > > > into two. > > > > So, are we gonna split it? This will also make hardware acceleration support > > more clean. E.g. most sbus drivers do color expansion in hardware, and fall > > back to cfb_imageblit() for the logo. > > It's up to James, though I vote for it. And I don't think any driver has accelerated versions of fb_imageblit for the logo, since any performance gained is probably minimal and it will involve too much work for something that's going to be done only once. > > > > OK, so rule is that if depth=0, input is 1bpp with palette in bgcol/fgcol, > > > > while if depth != 0, then palette is in info->pseudo_palette ? > > > > > > Yes. You can also say that if image->depth != var->bits_per_pixel, do > > > color expansion or reduction, whatever the case may be. > > > > Hmmm... Note that image->depth can be larger than 8, while the image data is > > still 8-bit. This is an inconsistency. I was thinking that if image->depth=8 and var->bits_per_pixel=4, then the driver is in danger of going out of bounds when referring to the pseudo_palette. But I forgot that the fb_show_logo() takes care of avoiding that :-) And yes, current usage of image->depth is pretty inconsistent and basically useless. > > image->depth for logo must change to 8. Or remove depth completely after > splitting imageblit to paintchar & paintlogo, as currently depth is > useless anyway: target format is defined by framebuffer layout, not > by image->depth, and source format is hardwired to the code. You're correct. If it's going to be split, image->depth becomes redundant. Tony |