Werner Lemberg pushed to branch master at FreeType / FreeType
Commits:
-
a842a098
by Ben Wagner at 2021-08-27T09:20:26+02:00
1 changed file:
Changes:
... | ... | @@ -999,10 +999,17 @@ typedef ptrdiff_t FT_PtrDist; |
999 | 999 |
*
|
1000 | 1000 |
* For other cases, using binary splits is actually slightly faster.
|
1001 | 1001 |
*/
|
1002 |
-#if defined( __SSE2__ ) || \
|
|
1003 |
- defined( __x86_64__ ) || \
|
|
1002 |
+#if defined( __SSE2__ ) || \
|
|
1003 |
+ defined( __x86_64__ ) || \
|
|
1004 |
+ defined( _M_AMD64 ) || \
|
|
1005 |
+ ( defined( _M_IX86_FP ) && _M_IX86_FP >= 2 )
|
|
1006 |
+# define FT_SSE2 1
|
|
1007 |
+#else
|
|
1008 |
+# define FT_SSE2 0
|
|
1009 |
+#endif
|
|
1010 |
+ |
|
1011 |
+#if FT_SSE2 || \
|
|
1004 | 1012 |
defined( __aarch64__ ) || \
|
1005 |
- defined( _M_AMD64 ) || \
|
|
1006 | 1013 |
defined( _M_ARM64 )
|
1007 | 1014 |
# define BEZIER_USE_DDA 1
|
1008 | 1015 |
#else
|
... | ... | @@ -1022,7 +1029,7 @@ typedef ptrdiff_t FT_PtrDist; |
1022 | 1029 |
|
1023 | 1030 |
#if BEZIER_USE_DDA
|
1024 | 1031 |
|
1025 |
-#ifdef __SSE2__
|
|
1032 |
+#if FT_SSE2
|
|
1026 | 1033 |
# include <emmintrin.h>
|
1027 | 1034 |
#endif
|
1028 | 1035 |
|
... | ... | @@ -1135,7 +1142,7 @@ typedef ptrdiff_t FT_PtrDist; |
1135 | 1142 |
* = (B << (33 - N)) + (A << (32 - 2*N))
|
1136 | 1143 |
*/
|
1137 | 1144 |
|
1138 |
-#ifdef __SSE2__
|
|
1145 |
+#if FT_SSE2
|
|
1139 | 1146 |
/* Experience shows that for small shift values, */
|
1140 | 1147 |
/* SSE2 is actually slower. */
|
1141 | 1148 |
if ( shift > 2 )
|
... | ... | @@ -1192,7 +1199,7 @@ typedef ptrdiff_t FT_PtrDist; |
1192 | 1199 |
|
1193 | 1200 |
return;
|
1194 | 1201 |
}
|
1195 |
-#endif /* __SSE2__ */
|
|
1202 |
+#endif /* FT_SSE2 */
|
|
1196 | 1203 |
|
1197 | 1204 |
rx = LEFT_SHIFT( ax, 33 - 2 * shift );
|
1198 | 1205 |
ry = LEFT_SHIFT( ay, 33 - 2 * shift );
|