* src/smooth/ftgrays.c (gray_render_conic): Refactor redundancy.
This commit is contained in:
parent
5031835790
commit
f7f9cb0dde
|
@ -1023,10 +1023,9 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
const FT_Vector* to )
|
const FT_Vector* to )
|
||||||
{
|
{
|
||||||
FT_Vector p0, p1, p2;
|
FT_Vector p0, p1, p2;
|
||||||
TPos dx, dy;
|
TPos ax, ay, bx, by, dx, dy;
|
||||||
int shift;
|
int shift;
|
||||||
|
|
||||||
FT_Int64 ax, ay, bx, by;
|
|
||||||
FT_Int64 rx, ry;
|
FT_Int64 rx, ry;
|
||||||
FT_Int64 qx, qy;
|
FT_Int64 qx, qy;
|
||||||
FT_Int64 px, py;
|
FT_Int64 px, py;
|
||||||
|
@ -1054,8 +1053,13 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
dx = FT_ABS( p0.x + p2.x - 2 * p1.x );
|
bx = p1.x - p0.x;
|
||||||
dy = FT_ABS( p0.y + p2.y - 2 * p1.y );
|
by = p1.y - p0.y;
|
||||||
|
ax = p2.x - p1.x - bx; /* p0.x + p2.x - 2 * p1.x */
|
||||||
|
ay = p2.y - p1.y - by; /* p0.y + p2.y - 2 * p1.y */
|
||||||
|
|
||||||
|
dx = FT_ABS( ax );
|
||||||
|
dy = FT_ABS( ay );
|
||||||
if ( dx < dy )
|
if ( dx < dy )
|
||||||
dx = dy;
|
dx = dy;
|
||||||
|
|
||||||
|
@ -1144,10 +1148,10 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
__m128i p;
|
__m128i p;
|
||||||
|
|
||||||
|
|
||||||
u.i.ax = p0.x + p2.x - 2 * p1.x;
|
u.i.ax = ax;
|
||||||
u.i.ay = p0.y + p2.y - 2 * p1.y;
|
u.i.ay = ay;
|
||||||
u.i.bx = p1.x - p0.x;
|
u.i.bx = bx;
|
||||||
u.i.by = p1.y - p0.y;
|
u.i.by = by;
|
||||||
|
|
||||||
a = _mm_load_si128( &u.vec.a );
|
a = _mm_load_si128( &u.vec.a );
|
||||||
b = _mm_load_si128( &u.vec.b );
|
b = _mm_load_si128( &u.vec.b );
|
||||||
|
@ -1165,7 +1169,7 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
|
|
||||||
p = _mm_load_si128( &v.vec );
|
p = _mm_load_si128( &v.vec );
|
||||||
|
|
||||||
for ( count = ( 1U << shift ); count > 0; count-- )
|
for ( count = 1U << shift; count > 0; count-- )
|
||||||
{
|
{
|
||||||
p = _mm_add_epi64( p, q );
|
p = _mm_add_epi64( p, q );
|
||||||
q = _mm_add_epi64( q, r );
|
q = _mm_add_epi64( q, r );
|
||||||
|
@ -1179,11 +1183,6 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
}
|
}
|
||||||
#endif /* __SSE2__ */
|
#endif /* __SSE2__ */
|
||||||
|
|
||||||
ax = p0.x + p2.x - 2 * p1.x;
|
|
||||||
ay = p0.y + p2.y - 2 * p1.y;
|
|
||||||
bx = p1.x - p0.x;
|
|
||||||
by = p1.y - p0.y;
|
|
||||||
|
|
||||||
rx = LEFT_SHIFT( ax, 33 - 2 * shift );
|
rx = LEFT_SHIFT( ax, 33 - 2 * shift );
|
||||||
ry = LEFT_SHIFT( ay, 33 - 2 * shift );
|
ry = LEFT_SHIFT( ay, 33 - 2 * shift );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue