diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2009-02-27 11:36:18 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2009-02-27 11:36:18 +0000 |
commit | cdd940897c917042eef200059b4edb7e7e513207 (patch) | |
tree | e176717d912825e2aa59f40b9c86d255ac98773e /framebuffer/fb_32bpp_plotters.c | |
parent | 3ed92be17e38f6910d90445270f6d89041b22aa0 (diff) | |
download | netsurf-cdd940897c917042eef200059b4edb7e7e513207.tar.gz netsurf-cdd940897c917042eef200059b4edb7e7e513207.tar.bz2 |
Unroll some fill loops, enable adrianl improved ablend function
svn path=/trunk/netsurf/; revision=6657
Diffstat (limited to 'framebuffer/fb_32bpp_plotters.c')
-rw-r--r-- | framebuffer/fb_32bpp_plotters.c | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/framebuffer/fb_32bpp_plotters.c b/framebuffer/fb_32bpp_plotters.c index 8bc4979ff..dcaa6b82f 100644 --- a/framebuffer/fb_32bpp_plotters.c +++ b/framebuffer/fb_32bpp_plotters.c @@ -189,30 +189,27 @@ static bool fb_32bpp_fill(int x0, int y0, int x1, int y1, colour c) pvid = fb_32bpp_get_xy_loc(x0, y0); while (height-- > 0) { -#if 1 - for (w = width; w > 0; w--) *pvid++ = ent; -#else - uint32_t *evid = pvid + width; - while (pvid <= evid - 16) { - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; - *pvid++ = ent; + w = width; + while (w >= 16) { + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + w-=16; + } + while (w >= 4) { + *pvid++ = ent; *pvid++ = ent; + *pvid++ = ent; *pvid++ = ent; + w-=4; + } + while (w > 0) { *pvid++ = ent; + w--; } - while (pvid < evid) *pvid++ = ent; -#endif pvid += llen; } |