Log

Author Commit Date CI Message
Behdad Esfahbod bf4b11cf 2022-05-27T17:20:36 [configure] Another try at fixing distcheck
Behdad Esfahbod e0544c48 2022-05-27T17:10:07 [test/threads] Fix distcheck
Behdad Esfahbod 33c990f0 2022-05-27T16:57:00 Include cassert to fix bots
Behdad Esfahbod f0fba599 2022-05-27T16:30:19 [hb-shape-threads] Reduce num-iterations
Behdad Esfahbod e8a24363 2022-05-27T16:29:17 [threads] Add a condition_variable to test for all threads to be ready
Behdad Esfahbod 049af186 2022-05-27T16:53:25 [threads] Add suite to test
Behdad Esfahbod 4d42a94c 2022-05-27T16:23:12 [threads] Add hb-shape-threads test
Behdad Esfahbod e3d5a117 2022-05-27T17:05:23 [hb-shape-threads] Fix tsan race
Behdad Esfahbod 87453f63 2022-05-27T16:51:12 [hb-shape-threads] Fix current-work-dir so test passes
Behdad Esfahbod f77faf86 2022-05-27T16:34:28 [hb-shape-threads] Allow overriding test parameters from cmdline
Behdad Esfahbod 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!
Behdad Esfahbod 97aa1ce6 2022-05-29T10:32:59 [gsubgpos] Move some member initialization
Behdad Esfahbod 0bb4c1f0 2022-05-29T10:23:19 [cache] Set default values for cache template parameters
Behdad Esfahbod 3957d292 2022-05-29T07:30:58 [layout] Remove stale comment
Behdad Esfahbod b6fed6f7 2022-05-29T06:33:34 [set-digest] Minor don't use !! when auto bool conversion happens
Behdad Esfahbod 371e14d9 2022-05-28T13:40:30 Combine uses of map has() then get() with has(.., &..)
Behdad Esfahbod b99efa6c 2022-05-28T05:16:34 [map] Minor: use const reference in has()
Behdad Esfahbod 24d5a11d 2022-05-28T05:14:16 [bimap] Add unlikely and minor optimization in is_empty()
Behdad Esfahbod c56ce868 2022-05-28T04:25:51 Revert "[ot-lang] Use atomic int for cache" This reverts commit d61b2074915cf5f8044dcb8e3dafc04b5b58c6b8.
Behdad Esfahbod 63bc6be0 2022-05-27T08:25:22 Merge pull request #3603 from harfbuzz/font-serial Add font serial API
Behdad Esfahbod e2aa2990 2022-05-27T07:06:02 [set] Use relaxed atomic ops for last_page_index Since iterating a set from multiple threads is supported.
Behdad Esfahbod d61b2074 2022-05-26T18:24:43 [ot-lang] Use atomic int for cache Fixes(?) https://github.com/harfbuzz/harfbuzz/issues/3612
Behdad Esfahbod 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.
Behdad Esfahbod 56e0ff9e 2022-05-20T12:30:46 [ft] If hb_font changed, update FT_Face Fixes https://github.com/harfbuzz/harfbuzz/issues/2270 Rather untested.
Behdad Esfahbod d0de389d 2022-05-20T12:18:43 [font] Fix test
Behdad Esfahbod a2015cd3 2022-05-20T12:15:00 [font] Add a separate serial_coords
Behdad Esfahbod 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 :(.
Behdad Esfahbod 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.
Behdad Esfahbod a719e678 2022-05-24T17:51:24 [ot-font] Use atomic ops for cache serial number This guarantees the cache is coherent.
Behdad Esfahbod 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
Behdad Esfahbod 12fff976 2022-05-24T13:42:25 [ot-var] Use atomic int for cached-serial
Behdad Esfahbod 0919eaa6 2022-05-24T13:07:24 [ot-font] Remove lock around cache Not needed.
Behdad Esfahbod 3548b602 2022-05-23T19:39:52 [ot-font] Cache h-advances for variable fonts
Behdad Esfahbod 39a07bf3 2022-05-23T19:13:05 [ot-font] Rename cache to varStore_cache
Behdad Esfahbod 970e03ec 2022-05-23T19:02:36 [ot-font] Add a hb_ot_font_t struct
Behdad Esfahbod 80c49933 2022-05-23T19:02:27 [hb-ft] Adjust serial signature
Behdad Esfahbod 0fe18692 2022-05-24T17:49:15 [benchmark-set] Pause timing around set copy initialization
Behdad Esfahbod ce5435a8 2022-05-24T16:34:04 [benchmark-set] Remove use of rand() inside benchmark
Behdad Esfahbod efa2a579 2022-05-24T16:24:00 [map] Add hb_map_copy() New API: + hb_map_copy()
Behdad Esfahbod 3b28cff9 2022-05-26T04:42:17 [cff1] Fix null dereference on memory alloc failure
Behdad Esfahbod 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
Garret Rieger e00c7358 2022-05-25T22:35:23 [subset] special case table presence check for hb_face_create_from_tables faces.
Garret Rieger 6a149a09 2022-05-25T22:22:35 [subset] fix use of lazy static constructor.
Garret Rieger d4c7939e 2022-05-25T22:11:32 [subset] use a list of known tables instead of handled tables.
Garret Rieger 3472f73b 2022-05-25T21:49:12 [subset] also include no subset tables when guessing which tables are present.
Garret Rieger 9564d987 2022-05-25T21:16:37 [subset] fix subsetting of faces created via hb_face_create_for_tables. Fixes #3609.
Behdad Esfahbod 6010feee 2022-05-24T09:00:44 [varStore] Rename variable as per review https://github.com/harfbuzz/harfbuzz/pull/3605
Khaled Hosny 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).
Behdad Esfahbod 8a7cfe17 2022-05-23T14:36:06 [perf/benchmark-shape] Test ft font backend as well
Behdad Esfahbod d4733978 2022-05-23T12:24:38 Merge pull request #3605 from harfbuzz/cache-varstore Cache varstore https://github.com/harfbuzz/harfbuzz/pull/3605
Behdad Esfahbod 3eb7eff4 2022-05-21T15:25:53 Remove varstore cache use if HB_NO_VAR
Behdad Esfahbod 099482a3 2022-05-21T15:20:23 [ot-font] Cache v_advance varstore as well
Behdad Esfahbod d9acc045 2022-05-21T14:16:21 [VarStore] Sprinkle cache_t type around It's available so no need to use void*.
Behdad Esfahbod da38312e 2022-05-20T17:32:56 [VarStore] Pepper cache with likely()
Behdad Esfahbod 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.
Behdad Esfahbod 5336ba70 2022-05-20T17:03:18 [HVAR] Cache VarStore region scalars
Behdad Esfahbod 880f50f7 2022-05-20T16:50:00 Refactor varstore cache
Behdad Esfahbod f2a2fb91 2022-05-20T16:06:05 [GPOS] Cache VarStore region scalars
Behdad Esfahbod 5fbc70c5 2022-05-20T14:07:27 [VarStore] Add cache API
Behdad Esfahbod e1f4445d 2022-05-21T15:11:53 [benchmark-shape] Allow taking multiple tests from cmdline
Behdad Esfahbod 1bf2d5f8 2022-05-21T14:42:50 [perf/benchmark-shape] Allow taking text-file/font-file args from cmdline
Behdad Esfahbod 852a8f04 2022-05-21T14:31:09 [perf/benchmark-font] Allow benchmarking fonts specified on cmdline
Behdad Esfahbod 05e82aa1 2022-05-20T12:17:31 [ft] Add missing lock to kerning function
Behdad Esfahbod da4b6f15 2022-05-20T17:21:04 [benchmark-shape] Add variable fonts
Behdad Esfahbod 4ea27257 2022-05-20T13:19:27 [set/map] Expose hash API publicly New API: + hb_set_hash() + hb_map_hash()
Behdad Esfahbod 2e186d9f 2022-05-20T13:15:52 [buffer] Improve hash function of segment_properties_t
Khaled Hosny aee123fc 2022-05-20T21:07:25 4.3.0
Behdad Esfahbod 975a5f91 2022-05-20T12:34:49 [array] Use hb_memcmp instead of memcmp Fixes ubsan error.
Behdad Esfahbod 55804e8d 2022-05-20T11:40:44 [hb-ft] Minor rearrange of struct members To make clear what members the lock protects.
Garret Rieger 4e11da05 2022-05-20T01:42:34 [repacker] update repacker test golden file. Changed due to removal of Kahn sorting.
Garret Rieger cbf8f44c 2022-05-19T21:25:21 [subset-perf] swap instead of copying vertice's when reordering during sort.
Garret Rieger 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.
Behdad Esfahbod 4266cf3b 2022-05-19T18:15:46 [array] Specialize operator== for bytes_t and ubytes_t
Behdad Esfahbod 6eaa22e9 2022-05-19T18:00:58 [serialize] Reduce link_t size from 16 to 12
Behdad Esfahbod 30ba9a39 2022-05-19T17:34:58 [vector] Add emplacing push implementation
Behdad Esfahbod 25393288 2022-05-19T17:19:21 [test] Fix compiler warning
Garret Rieger 73b8360d 2022-05-19T22:59:51 [subset] fix fuzzer found underflow when heap push fails. Fixes https://oss-fuzz.com/testcase-detail/5148625505746944.
Behdad Esfahbod 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
Behdad Esfahbod b4d1ec31 2022-05-19T16:06:21 [algs] Declare coerce() as constexpr
Behdad Esfahbod 2fdb7616 2022-05-19T16:00:43 [map Further adjust hash function
Behdad Esfahbod 01fc90b6 2022-05-19T16:00:06 [map] Adjust hash function
Behdad Esfahbod a47b0aeb 2022-05-19T15:52:00 [vector] Fix remove() implementation test-vector under valgrind happy now.
Behdad Esfahbod 3bd755c3 2022-05-19T15:51:18 [test-vector] Test remove() Currently buggy. Valgrind confirms.
Behdad Esfahbod 58f848da 2022-05-19T15:42:54 [set/map] Adjust hash function return type
Behdad Esfahbod 6544fc28 2022-05-19T15:28:09 [vector] Add further copy implementation
Behdad Esfahbod c19f1169 2022-05-19T15:27:52 [meta] Remove non-existing gcc4 trait implementation
Behdad Esfahbod 679b900e 2022-05-19T15:27:32 [meta] Fix gcc4 trait implementation
Behdad Esfahbod fb77f48f 2022-05-19T15:02:10 [vector] Optimize vector copy
Behdad Esfahbod 28b44ac4 2022-05-19T15:01:56 [set] Switch set copy to vector operator = Slows it down currently.
Behdad Esfahbod 37d3275d 2022-05-19T15:01:23 [test-vector] Enable disabled test This seems to work already.
Behdad Esfahbod 544ffb91 2022-05-19T14:50:12 [set] Adjust grow_vector condition
Behdad Esfahbod 0623aa59 2022-05-19T14:12:42 [benchmark-set] Add benchmark for set copy
Behdad Esfahbod 44952bcc 2022-05-19T14:02:48 [set] Cache hash value
Behdad Esfahbod 844ac328 2022-05-19T13:54:31 [set] Fix hb_set_t hash stability
Behdad Esfahbod 2d0b1248 2022-05-19T13:53:53 [test-map] Test hb_set_t hash stability Fails currently.
Behdad Esfahbod 561e02fe 2022-05-19T13:38:52 [map] Make hb_map_t hashable
Behdad Esfahbod ad176990 2022-05-19T13:36:12 [map] Add is_equal() / towards making hb_map_t hashable New API: + hb_map_is_equal()
Behdad Esfahbod 14a24d8e 2022-05-19T13:03:50 [vector] Make hb_vector_t hashable
Behdad Esfahbod 124f9aeb 2022-05-19T12:58:02 [set] Make hb_set_t hashable
Garret Rieger 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.