forked from len0rd/rockbox
Speed up mono bitmap drawing on horizontally packed greyscale targets (greyscale iPods). Average speedup is 80% on PP5002, and 55% on PP502x. * Simplify mono bitmap drawing in the 16 bit driver and the greylib a bit, also giving a slight speedup (3% on PP502x, 1.5% on coldfire).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21163 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
aa7d43f7a6
commit
c1d27d105c
3 changed files with 126 additions and 32 deletions
|
@ -447,6 +447,7 @@ void grey_mono_bitmap_part(const unsigned char *src, int src_x, int src_y,
|
|||
src_end = src + width;
|
||||
dwidth = _grey_info.width;
|
||||
dst = &_grey_info.buffer[_GREY_MULUQ(dwidth, y) + x];
|
||||
dst_end = dst + _GREY_MULUQ(dwidth, height);
|
||||
|
||||
if (drmode & DRMODE_INVERSEVID)
|
||||
{
|
||||
|
@ -461,8 +462,6 @@ void grey_mono_bitmap_part(const unsigned char *src, int src_x, int src_y,
|
|||
unsigned data = (*src_col ^ dmask) >> src_y;
|
||||
int fg, bg;
|
||||
|
||||
dst_end = dst_col + _GREY_MULUQ(dwidth, height);
|
||||
|
||||
#define UPDATE_SRC do { \
|
||||
data >>= 1; \
|
||||
if (data == 0x001) { \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue