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_16bpp_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_16bpp_plotters.c')
-rw-r--r-- | framebuffer/fb_16bpp_plotters.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/framebuffer/fb_16bpp_plotters.c b/framebuffer/fb_16bpp_plotters.c index 74944a9c3..975dd98cb 100644 --- a/framebuffer/fb_16bpp_plotters.c +++ b/framebuffer/fb_16bpp_plotters.c @@ -191,7 +191,28 @@ static bool fb_16bpp_fill(int x0, int y0, int x1, int y1, colour c) pvid32 = (uint32_t *)pvid16; while (height-- > 0) { - for (w = width; w > 0; w--) *pvid32++ = ent32; + w = width; + while (w >= 16) { + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + w-=16; + } + while (w >= 4) { + *pvid32++ = ent32; *pvid32++ = ent32; + *pvid32++ = ent32; *pvid32++ = ent32; + w-=4; + } + while (w > 0) { + *pvid32++ = ent32; + w--; + } + // for (w = width; w > 0; w--) *pvid32++ = ent32; pvid32 += llen; } |