|
bf4b11cf
|
2022-05-27T17:20:36
|
|
[configure] Another try at fixing distcheck
|
|
e0544c48
|
2022-05-27T17:10:07
|
|
[test/threads] Fix distcheck
|
|
33c990f0
|
2022-05-27T16:57:00
|
|
Include cassert to fix bots
|
|
f0fba599
|
2022-05-27T16:30:19
|
|
[hb-shape-threads] Reduce num-iterations
|
|
e8a24363
|
2022-05-27T16:29:17
|
|
[threads] Add a condition_variable to test for all threads to be ready
|
|
049af186
|
2022-05-27T16:53:25
|
|
[threads] Add suite to test
|
|
4d42a94c
|
2022-05-27T16:23:12
|
|
[threads] Add hb-shape-threads test
|
|
e3d5a117
|
2022-05-27T17:05:23
|
|
[hb-shape-threads] Fix tsan race
|
|
87453f63
|
2022-05-27T16:51:12
|
|
[hb-shape-threads] Fix current-work-dir so test passes
|
|
f77faf86
|
2022-05-27T16:34:28
|
|
[hb-shape-threads] Allow overriding test parameters from cmdline
|
|
315ef83b
|
2022-05-30T05:09:26
|
|
Revert "Revert "[ot-lang] Use atomic int for cache""
This reverts commit c56ce8681c209abd147328142806769752091b1c.
The revert was not intentional. Ouch!
|
|
97aa1ce6
|
2022-05-29T10:32:59
|
|
[gsubgpos] Move some member initialization
|
|
0bb4c1f0
|
2022-05-29T10:23:19
|
|
[cache] Set default values for cache template parameters
|
|
3957d292
|
2022-05-29T07:30:58
|
|
[layout] Remove stale comment
|
|
b6fed6f7
|
2022-05-29T06:33:34
|
|
[set-digest] Minor don't use !! when auto bool conversion happens
|
|
371e14d9
|
2022-05-28T13:40:30
|
|
Combine uses of map has() then get() with has(.., &..)
|
|
b99efa6c
|
2022-05-28T05:16:34
|
|
[map] Minor: use const reference in has()
|
|
24d5a11d
|
2022-05-28T05:14:16
|
|
[bimap] Add unlikely and minor optimization in is_empty()
|
|
c56ce868
|
2022-05-28T04:25:51
|
|
Revert "[ot-lang] Use atomic int for cache"
This reverts commit d61b2074915cf5f8044dcb8e3dafc04b5b58c6b8.
|
|
63bc6be0
|
2022-05-27T08:25:22
|
|
Merge pull request #3603 from harfbuzz/font-serial
Add font serial API
|
|
e2aa2990
|
2022-05-27T07:06:02
|
|
[set] Use relaxed atomic ops for last_page_index
Since iterating a set from multiple threads is supported.
|
|
d61b2074
|
2022-05-26T18:24:43
|
|
[ot-lang] Use atomic int for cache
Fixes(?) https://github.com/harfbuzz/harfbuzz/issues/3612
|
|
67bd147c
|
2022-05-26T05:16:07
|
|
Merge pull request #3610 from googlefonts/subset_create_tables_face
[subset] fix subsetting of faces created via hb_face_create_for_tables.
|
|
56e0ff9e
|
2022-05-20T12:30:46
|
|
[ft] If hb_font changed, update FT_Face
Fixes https://github.com/harfbuzz/harfbuzz/issues/2270
Rather untested.
|
|
d0de389d
|
2022-05-20T12:18:43
|
|
[font] Fix test
|
|
a2015cd3
|
2022-05-20T12:15:00
|
|
[font] Add a separate serial_coords
|
|
8629df18
|
2022-05-20T12:06:22
|
|
[ft] Discard advance cache if font changed
Uses newly added font serial API.
Part of https://github.com/harfbuzz/harfbuzz/issues/2270
But doesn't set new coords on the FT_Face. That's a lot more
work :(.
|
|
48db1c95
|
2022-05-20T12:03:32
|
|
[font] Add serial API
New API:
+ hb_font_get_serial()
+ hb_font_changed()
Fixes https://github.com/harfbuzz/harfbuzz/issues/2426
Unused internally as of now.
|
|
a719e678
|
2022-05-24T17:51:24
|
|
[ot-font] Use atomic ops for cache serial number
This guarantees the cache is coherent.
|
|
5248b256
|
2022-05-24T13:55:17
|
|
[ot-font/h-advance] Adjust varStore cache condition
This gives best performance for short strings, now that we have a h-advance cache as well.
The en-words benchmark in particular, now ot-font is faster than ft.
Second to last line is of interest:
Before:
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 29.8 ms 29.8 ms 23
BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.4 ms 30.4 ms 23
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.5 ms 16.5 ms 42
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 18.0 ms 18.0 ms 39
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39
After:
behdad@Behdads-MacBook-Pro harfbuzz % ninja -Cbuild && build/perf/benchmark-shape --benchmark_filter=en-words
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 30.0 ms 30.0 ms 23
BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.3 ms 30.3 ms 23
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.4 ms 16.4 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 17.6 ms 17.6 ms 40
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39
|
|
12fff976
|
2022-05-24T13:42:25
|
|
[ot-var] Use atomic int for cached-serial
|
|
0919eaa6
|
2022-05-24T13:07:24
|
|
[ot-font] Remove lock around cache
Not needed.
|
|
3548b602
|
2022-05-23T19:39:52
|
|
[ot-font] Cache h-advances for variable fonts
|
|
39a07bf3
|
2022-05-23T19:13:05
|
|
[ot-font] Rename cache to varStore_cache
|
|
970e03ec
|
2022-05-23T19:02:36
|
|
[ot-font] Add a hb_ot_font_t struct
|
|
80c49933
|
2022-05-23T19:02:27
|
|
[hb-ft] Adjust serial signature
|
|
0fe18692
|
2022-05-24T17:49:15
|
|
[benchmark-set] Pause timing around set copy initialization
|
|
ce5435a8
|
2022-05-24T16:34:04
|
|
[benchmark-set] Remove use of rand() inside benchmark
|
|
efa2a579
|
2022-05-24T16:24:00
|
|
[map] Add hb_map_copy()
New API:
+ hb_map_copy()
|
|
3b28cff9
|
2022-05-26T04:42:17
|
|
[cff1] Fix null dereference on memory alloc failure
|
|
8df9aba9
|
2022-05-26T03:59:21
|
|
Actually try to fix null-size undefined behavior
Related to:
https://github.com/harfbuzz/harfbuzz/pull/2067
https://bugzilla.mozilla.org/show_bug.cgi?id=1577584
|
|
e00c7358
|
2022-05-25T22:35:23
|
|
[subset] special case table presence check for hb_face_create_from_tables faces.
|
|
6a149a09
|
2022-05-25T22:22:35
|
|
[subset] fix use of lazy static constructor.
|
|
d4c7939e
|
2022-05-25T22:11:32
|
|
[subset] use a list of known tables instead of handled tables.
|
|
3472f73b
|
2022-05-25T21:49:12
|
|
[subset] also include no subset tables when guessing which tables are present.
|
|
9564d987
|
2022-05-25T21:16:37
|
|
[subset] fix subsetting of faces created via hb_face_create_for_tables.
Fixes #3609.
|
|
6010feee
|
2022-05-24T09:00:44
|
|
[varStore] Rename variable as per review
https://github.com/harfbuzz/harfbuzz/pull/3605
|
|
89939c9c
|
2022-05-24T03:29:23
|
|
[ci] Fix fedora-valgrind job
Fedora 33 is EOL since 2021-11-30, try the latest Fedora release (36).
|
|
8a7cfe17
|
2022-05-23T14:36:06
|
|
[perf/benchmark-shape] Test ft font backend as well
|
|
d4733978
|
2022-05-23T12:24:38
|
|
Merge pull request #3605 from harfbuzz/cache-varstore
Cache varstore
https://github.com/harfbuzz/harfbuzz/pull/3605
|
|
3eb7eff4
|
2022-05-21T15:25:53
|
|
Remove varstore cache use if HB_NO_VAR
|
|
099482a3
|
2022-05-21T15:20:23
|
|
[ot-font] Cache v_advance varstore as well
|
|
d9acc045
|
2022-05-21T14:16:21
|
|
[VarStore] Sprinkle cache_t type around
It's available so no need to use void*.
|
|
da38312e
|
2022-05-20T17:32:56
|
|
[VarStore] Pepper cache with likely()
|
|
cf8f00e3
|
2022-05-20T17:14:10
|
|
[VarStore] Don't use NAN
Is faster.
With this, I'm seeing 25 to 28% speedup in glyph_h_advances benchmark
of benchmark-font for var/hb tests.
|
|
5336ba70
|
2022-05-20T17:03:18
|
|
[HVAR] Cache VarStore region scalars
|
|
880f50f7
|
2022-05-20T16:50:00
|
|
Refactor varstore cache
|
|
f2a2fb91
|
2022-05-20T16:06:05
|
|
[GPOS] Cache VarStore region scalars
|
|
5fbc70c5
|
2022-05-20T14:07:27
|
|
[VarStore] Add cache API
|
|
e1f4445d
|
2022-05-21T15:11:53
|
|
[benchmark-shape] Allow taking multiple tests from cmdline
|
|
1bf2d5f8
|
2022-05-21T14:42:50
|
|
[perf/benchmark-shape] Allow taking text-file/font-file args from cmdline
|
|
852a8f04
|
2022-05-21T14:31:09
|
|
[perf/benchmark-font] Allow benchmarking fonts specified on cmdline
|
|
05e82aa1
|
2022-05-20T12:17:31
|
|
[ft] Add missing lock to kerning function
|
|
da4b6f15
|
2022-05-20T17:21:04
|
|
[benchmark-shape] Add variable fonts
|
|
4ea27257
|
2022-05-20T13:19:27
|
|
[set/map] Expose hash API publicly
New API:
+ hb_set_hash()
+ hb_map_hash()
|
|
2e186d9f
|
2022-05-20T13:15:52
|
|
[buffer] Improve hash function of segment_properties_t
|
|
aee123fc
|
2022-05-20T21:07:25
|
|
4.3.0
|
|
975a5f91
|
2022-05-20T12:34:49
|
|
[array] Use hb_memcmp instead of memcmp
Fixes ubsan error.
|
|
55804e8d
|
2022-05-20T11:40:44
|
|
[hb-ft] Minor rearrange of struct members
To make clear what members the lock protects.
|
|
4e11da05
|
2022-05-20T01:42:34
|
|
[repacker] update repacker test golden file.
Changed due to removal of Kahn sorting.
|
|
cbf8f44c
|
2022-05-19T21:25:21
|
|
[subset-perf] swap instead of copying vertice's when reordering during sort.
|
|
b32ca2a2
|
2022-05-19T20:45:39
|
|
[subset-perf] remove sort_kahn from repacker.
Without an optimized FIFO queue implementation it's nearly as slow as the now optimized sort_shortest_distance.
|
|
4266cf3b
|
2022-05-19T18:15:46
|
|
[array] Specialize operator== for bytes_t and ubytes_t
|
|
6eaa22e9
|
2022-05-19T18:00:58
|
|
[serialize] Reduce link_t size from 16 to 12
|
|
30ba9a39
|
2022-05-19T17:34:58
|
|
[vector] Add emplacing push implementation
|
|
25393288
|
2022-05-19T17:19:21
|
|
[test] Fix compiler warning
|
|
73b8360d
|
2022-05-19T22:59:51
|
|
[subset] fix fuzzer found underflow when heap push fails.
Fixes https://oss-fuzz.com/testcase-detail/5148625505746944.
|
|
f1bf14ea
|
2022-05-19T16:42:35
|
|
Revert "[set] Cache hash value"
This reverts commit 44952bcc259a906b8875ed62dc40de96ade8b95c.
While we investivate https://github.com/harfbuzz/harfbuzz/issues/3599
|
|
b4d1ec31
|
2022-05-19T16:06:21
|
|
[algs] Declare coerce() as constexpr
|
|
2fdb7616
|
2022-05-19T16:00:43
|
|
[map Further adjust hash function
|
|
01fc90b6
|
2022-05-19T16:00:06
|
|
[map] Adjust hash function
|
|
a47b0aeb
|
2022-05-19T15:52:00
|
|
[vector] Fix remove() implementation
test-vector under valgrind happy now.
|
|
3bd755c3
|
2022-05-19T15:51:18
|
|
[test-vector] Test remove()
Currently buggy. Valgrind confirms.
|
|
58f848da
|
2022-05-19T15:42:54
|
|
[set/map] Adjust hash function return type
|
|
6544fc28
|
2022-05-19T15:28:09
|
|
[vector] Add further copy implementation
|
|
c19f1169
|
2022-05-19T15:27:52
|
|
[meta] Remove non-existing gcc4 trait implementation
|
|
679b900e
|
2022-05-19T15:27:32
|
|
[meta] Fix gcc4 trait implementation
|
|
fb77f48f
|
2022-05-19T15:02:10
|
|
[vector] Optimize vector copy
|
|
28b44ac4
|
2022-05-19T15:01:56
|
|
[set] Switch set copy to vector operator =
Slows it down currently.
|
|
37d3275d
|
2022-05-19T15:01:23
|
|
[test-vector] Enable disabled test
This seems to work already.
|
|
544ffb91
|
2022-05-19T14:50:12
|
|
[set] Adjust grow_vector condition
|
|
0623aa59
|
2022-05-19T14:12:42
|
|
[benchmark-set] Add benchmark for set copy
|
|
44952bcc
|
2022-05-19T14:02:48
|
|
[set] Cache hash value
|
|
844ac328
|
2022-05-19T13:54:31
|
|
[set] Fix hb_set_t hash stability
|
|
2d0b1248
|
2022-05-19T13:53:53
|
|
[test-map] Test hb_set_t hash stability
Fails currently.
|
|
561e02fe
|
2022-05-19T13:38:52
|
|
[map] Make hb_map_t hashable
|
|
ad176990
|
2022-05-19T13:36:12
|
|
[map] Add is_equal() / towards making hb_map_t hashable
New API:
+ hb_map_is_equal()
|
|
14a24d8e
|
2022-05-19T13:03:50
|
|
[vector] Make hb_vector_t hashable
|
|
124f9aeb
|
2022-05-19T12:58:02
|
|
[set] Make hb_set_t hashable
|
|
3ab2c793
|
2022-05-19T17:23:36
|
|
[subset-perf] Signficiantly speed up ClassDef*::subset.
Eliminates the usage of a glyph -> klass hash map and replaces it with a vector storing the mapping. This allows us to use the vector directly as the iterator driving the serialize. Approximately 1% speedup for Noto Nastaliq.
|