* src/smooth/ftgrays.c (FT_GRAY_SET): Adjust for better code.
This commit is contained in:
parent
8f43d324d1
commit
c653b8d2f1
|
@ -1,4 +1,8 @@
|
||||||
2021-05-07 Alexei Podtelezhnikov <apodtele@gmail.com>
|
2021-05-11 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
|
* src/smooth/ftgrays.c (FT_GRAY_SET): Adjust for better code.
|
||||||
|
|
||||||
|
2021-05-11 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
[smooth] Faster bitmap sweeping.
|
[smooth] Faster bitmap sweeping.
|
||||||
|
|
||||||
|
|
|
@ -409,22 +409,21 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
|
|
||||||
/* It is faster to write small spans byte-by-byte than calling */
|
/* It is faster to write small spans byte-by-byte than calling */
|
||||||
/* `memset'. This is mainly due to the cost of the function call. */
|
/* `memset'. This is mainly due to the cost of the function call. */
|
||||||
#define FT_GRAY_SET( d, s, count ) \
|
#define FT_GRAY_SET( d, s, count ) \
|
||||||
FT_BEGIN_STMNT \
|
FT_BEGIN_STMNT \
|
||||||
unsigned char* q = d; \
|
unsigned char* q = d; \
|
||||||
unsigned char c = (unsigned char)s; \
|
switch ( count ) \
|
||||||
switch ( count ) \
|
{ \
|
||||||
{ \
|
case 7: *q++ = (unsigned char)s; /* fall through */ \
|
||||||
case 7: *q++ = c; /* fall through */ \
|
case 6: *q++ = (unsigned char)s; /* fall through */ \
|
||||||
case 6: *q++ = c; /* fall through */ \
|
case 5: *q++ = (unsigned char)s; /* fall through */ \
|
||||||
case 5: *q++ = c; /* fall through */ \
|
case 4: *q++ = (unsigned char)s; /* fall through */ \
|
||||||
case 4: *q++ = c; /* fall through */ \
|
case 3: *q++ = (unsigned char)s; /* fall through */ \
|
||||||
case 3: *q++ = c; /* fall through */ \
|
case 2: *q++ = (unsigned char)s; /* fall through */ \
|
||||||
case 2: *q++ = c; /* fall through */ \
|
case 1: *q = (unsigned char)s; /* fall through */ \
|
||||||
case 1: *q = c; /* fall through */ \
|
case 0: break; \
|
||||||
case 0: break; \
|
default: FT_MEM_SET( d, s, count ); \
|
||||||
default: FT_MEM_SET( d, s, count ); \
|
} \
|
||||||
} \
|
|
||||||
FT_END_STMNT
|
FT_END_STMNT
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue