|
From: Geert U. <ge...@li...> - 2002-10-07 20:06:52
|
On 8 Oct 2002, Antonino Daplas wrote:
> On Mon, 2002-10-07 at 04:41, Geert Uytterhoeven wrote:
> > The fillrect() for arbitrary bitdepths is in fbtest now. I also added fast
> > support for planar screens. Well, now I can start porting amifb to the accel
> > framework.
> >
> I modified your fillrect for cfbfillrect.c. Just added support for
> ROP_XOR.
>
> Here's also some rudimentary benchmarks:
>
> fill/copy a 256x256 rectangle 1000 times (8bpp):
>
> old new
> copyarea 4.930s 5.151s
> fillrect(ROP_COPY) 0.136s 0.256s
> fillrect(ROP_XOR) 4.059s 3.903s
Yes, there is still room for optimization...
If next_line is a multiple of BYTES_PER_LONG, there's no need to recalculate
the first and last masks.
Even if next_line is not a multiple of BYTES_PER_LONG, the first and last masks
are periodic, and can be precalculated and put in a table (4 entries on 32-bit
and 8 entries on 64-bit).
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li...
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
|