Anurag Thakur pushed to branch gsoc-anurag-2023 at FreeType / FreeType
Commits:
3 changed files:
Changes:
builds/meson/parse_modules_cfg.py
... |
... |
@@ -87,6 +87,7 @@ def generate_ftmodule(lists): |
87
|
87
|
names = {
|
88
|
88
|
"raster": ("ft_raster1",),
|
89
|
89
|
"smooth": ("ft_smooth",),
|
|
90
|
+ "dense": ("ft_dense",),
|
90
|
91
|
"svg": ("ft_svg",),
|
91
|
92
|
"sdf": ("ft_sdf", "ft_bitmap_sdf"),
|
92
|
93
|
}.get(module)
|
meson.build
... |
... |
@@ -395,6 +395,13 @@ if use_unix_ftsystem_c |
395
|
395
|
endif
|
396
|
396
|
|
397
|
397
|
|
|
398
|
+if cc.get_id() == 'msvc'
|
|
399
|
+ ft2_defines += ['/arch:AVX']
|
|
400
|
+else
|
|
401
|
+ ft2_defines += ['-msse4.1']
|
|
402
|
+endif
|
|
403
|
+
|
|
404
|
+
|
398
|
405
|
ft2_lib = library('freetype',
|
399
|
406
|
sources: ft2_sources + [ftmodule_h],
|
400
|
407
|
c_args: ft2_defines,
|
... |
... |
@@ -403,7 +410,7 @@ ft2_lib = library('freetype', |
403
|
410
|
dependencies: ft2_deps,
|
404
|
411
|
install: true,
|
405
|
412
|
version: ft2_so_version,
|
406
|
|
- link_args: common_ldflags,
|
|
413
|
+ link_args: common_ldflags + ['-lm'],
|
407
|
414
|
)
|
408
|
415
|
|
409
|
416
|
|
src/dense/ftdense.c
... |
... |
@@ -154,7 +154,7 @@ dense_render_line( dense_worker* worker, FT_Pos tox, FT_Pos toy ) |
154
|
154
|
{
|
155
|
155
|
int linestart = y * worker->m_w;
|
156
|
156
|
|
157
|
|
- FT26D6 dy = min( (y + 1)<<6, to_y ) - max( y<<6, from_y );
|
|
157
|
+ FT26D6 dy = FT_MIN( (y + 1)<<6, to_y ) - FT_MAX( y<<6, from_y );
|
158
|
158
|
|
159
|
159
|
m_a[linestart + x0i] += dir*dy*(64 - x + x0floor);
|
160
|
160
|
m_a[linestart + ( x0i + 1 )] += dir*dy*(x-x0floor);
|
... |
... |
@@ -457,7 +457,7 @@ __m128i offset = _mm_setzero_si128(); |
457
|
457
|
// shuffle
|
458
|
458
|
y = _mm_shuffle_epi8( y, mask );
|
459
|
459
|
|
460
|
|
- _mm_store_ss( (float*)&dest[i], (__m128)y );
|
|
460
|
+ _mm_store_ss( (float*)&dest[i], _mm_castsi128_ps(y) );
|
461
|
461
|
|
462
|
462
|
// store the current prefix sum in offset
|
463
|
463
|
offset = _mm_castps_si128( _mm_shuffle_ps( _mm_castsi128_ps( x ),
|
|