src


Log

Author Commit Date CI Message
Behdad Esfahbod 2bcbfd35 2025-02-07T17:58:13 [hvgl] Indent
Behdad Esfahbod fc0966d9 2025-02-07T17:53:49 [hvgl] Fix the complex-number transform code path Tested by U+9DAD at wght=900 of PingFangUI.
Behdad Esfahbod 32a6940d 2025-02-07T16:15:53 [hvgl] Minor const
Behdad Esfahbod 9685d393 2025-02-07T16:57:19 [hvgl] Another clamp Huh. Errors down to just 1!
Behdad Esfahbod 3c84aa52 2025-02-07T13:52:32 [hvgl] Move transforms around This doesn't seem to quite match the spec. But produces fewer wrong shapes. Down to 834 out of 34485 characters.
Behdad Esfahbod 3e1e2ab3 2025-02-07T13:45:18 [hvgl] Another transform fix
Behdad Esfahbod d4511648 2025-02-07T17:35:26 [draw] Simplify quadratic-to-cubic conversion Hopefully introduces less error.
Behdad Esfahbod 40b9930c 2025-02-07T16:46:49 [hvgl] Minor move condition Previous code was safe but was taking address of an out-of-range array member if end was 0. Was never dereferenced though.
Behdad Esfahbod 7e84cf81 2025-02-07T13:23:01 [hvgl] Simplify transform
Behdad Esfahbod a71ad886 2025-02-07T16:42:42 [hvgl] Rename a variable
Behdad Esfahbod d5174c41 2025-02-07T13:13:02 [hvgl] Fix transform order
Behdad Esfahbod 76dbae15 2025-02-07T11:34:33 [hvgl] Minor
Behdad Esfahbod 453aea05 2025-03-02T16:59:19 [hvgl] Use double instead of float for coords & transforms As "spec" requires.
Behdad Esfahbod 00bc3ecf 2025-03-02T16:58:37 [geometry] Use int literals instead of float ones In anticipation of templatizing on float type.
Behdad Esfahbod 9f85e974 2025-01-30T17:58:28 [hvgl] Remove a resize(0) that was not doing any good In hb_vector_t<double> we use hb_realloc() for resizing, which doesn't care what the vector current length is.
Behdad Esfahbod dbef4e32 2025-01-30T14:54:41 [hvgl] Name a value
Behdad Esfahbod da3fca46 2025-01-30T08:41:31 [hvgl] Reduce another malloc
Behdad Esfahbod 44780db5 2025-01-30T08:31:48 [hvgl] Remove unused parameter
Behdad Esfahbod 9579cee8 2025-01-30T08:26:16 [hvgl] Add table version check
Behdad Esfahbod d4b29817 2025-01-30T08:01:56 [hvgl] Remove use of a transient variable
Behdad Esfahbod 9b361172 2025-01-30T07:58:21 [hvgl] Micro-optimize vector allocation
Behdad Esfahbod a2fc9523 2025-01-30T07:51:10 [hvgl] Use a common "scratch" vector To avoid reallocation.
Behdad Esfahbod de0e1bdd 2025-01-30T07:30:51 [hvgl] Minor simplify sanitize
Behdad Esfahbod 4e56a0b8 2025-01-30T06:54:59 [hvgl] Use smarter algorithm for cycle detection Great speedup as we don't use hb_set_t. Yay!
Behdad Esfahbod cd73ca3c 2025-01-30T06:43:51 [hvgl] Possibly save a malloc
Behdad Esfahbod 7a171dcc 2025-01-30T06:42:35 [hvgl] Simplify resize call
Behdad Esfahbod 60562fce 2025-01-30T05:09:35 [hvgl] Remove an unnecessary cast
Behdad Esfahbod 26fc2d7c 2025-01-30T05:08:24 [hvgl] Minor var type declaration
Behdad Esfahbod fc62af31 2025-01-30T05:03:34 [hvgl] Bail on error Easier than handling a vector too short.
Behdad Esfahbod 2a3477c8 2025-01-30T04:59:49 [hvgl] Micro-optimize
Behdad Esfahbod d9d58958 2025-01-30T04:46:08 [geometry] Minor avoid a default initialization Compiler probably doesn't care though.
Behdad Esfahbod 7d3b340d 2025-01-30T04:26:31 [hvgl] Grammar
Behdad Esfahbod 241304b2 2025-01-30T04:25:54 [hvgl] Micro-optimize
Behdad Esfahbod 460f0f19 2025-01-30T04:18:36 [hvgl] Cosmetic
Behdad Esfahbod b191d084 2025-01-30T04:16:56 [hvgl] Micro-optimize
Behdad Esfahbod 500290bb 2025-01-30T03:54:54 [hvgl] Fix typo
Behdad Esfahbod 3bdae43a 2025-01-30T01:23:21 [hvgl] Add a barrier Just in case.
Behdad Esfahbod c52c98ab 2025-01-28T03:59:39 [hvgl] Remove a duplicate variable
Behdad Esfahbod 0a25471b 2025-01-28T03:49:59 [hvgl] Fix vector resize I meant to resize to exact, but the false wasn't doing that.
Behdad Esfahbod 4bced206 2025-01-28T03:06:00 [hvgl] Rename a method
Behdad Esfahbod ea50fa28 2025-01-28T02:11:31 [hvgl] Remove commented out leftover
Behdad Esfahbod 8183ab13 2025-01-22T05:35:09 [hvgl] Apply shape deltas
Behdad Esfahbod de87cea1 2025-01-22T05:34:55 [hvgl] Minor bound checking
Behdad Esfahbod 5fa2c628 2025-01-28T01:07:40 [hvgl] Avoid a div-by-zero
Behdad Esfahbod 37a8e4af 2025-01-22T05:34:30 [algs] Minor tweak to HBFloat
Behdad Esfahbod c6bbc4ed 2025-01-22T05:33:33 [open-type] Fix NumType
Behdad Esfahbod 1b42d811 2025-01-28T00:36:34 [hvgl] Micro-optimize segment access
Behdad Esfahbod 9f78bae8 2025-01-22T04:38:14 [hvgl] Draw PartShape With no variations so far.
Behdad Esfahbod caf04058 2025-01-22T04:37:27 [hvgl] Fix NumType float conversion
Behdad Esfahbod 3a6dc3d2 2025-01-28T00:27:03 [hvgl] Micro-optimize
Behdad Esfahbod 469c59e7 2025-01-21T21:43:47 [hvgl] Start processing PartShape outline
Behdad Esfahbod fe964860 2025-01-21T21:41:51 [hvgl] Fix Align<>::get_size()
Behdad Esfahbod 6e92267c 2025-01-28T00:06:48 [hvgl] Only pass the needed coords around
Behdad Esfahbod df890f69 2025-01-21T20:06:07 [hvgl] Use UnsizedArrayOf for a couple of types
Behdad Esfahbod e9c531dc 2025-01-20T18:02:38 [hvgl] Simplify Align<>
Behdad Esfahbod 80a8c5fa 2025-01-28T00:00:00 [hvgl] Whitespace
Behdad Esfahbod a6ba9603 2025-01-20T18:00:23 [hvgl] Move Align to proper place
Behdad Esfahbod 14a75335 2025-01-20T17:46:44 [hvgl] Traverse down the tree Still no path fetching.
Behdad Esfahbod 4fc69418 2025-01-27T23:43:39 [hvgl] Rename "be" var to "le"
Behdad Esfahbod 386ea1ba 2025-01-20T17:23:51 [hvgl] Fix sanitize
Behdad Esfahbod 8ff4cfbc 2025-01-19T16:55:25 [hvgl] Fix null size of Part
Behdad Esfahbod 303cd634 2025-01-27T23:14:09 [hvgl] Disable unnecessary code
Behdad Esfahbod 9c788d12 2025-01-27T21:17:38 [hvgl] Comment
Behdad Esfahbod 3d0fae3f 2025-01-27T19:29:47 [hvgl] Optimize initial getting of coordinates
Behdad Esfahbod f31fa0ae 2025-01-27T14:52:19 [hvgl] Optimize extremum transforms some more Passed the 2x threshold, faster than CoreText.
Behdad Esfahbod e7a05b1b 2025-01-27T14:48:40 [hvgl] Micro-optimize
Behdad Esfahbod 4ba06925 2025-01-27T14:42:17 [hvgl] Minor use a variable
Behdad Esfahbod 727b647e 2025-01-27T14:37:36 [hvgl] Speed up transform variations
Behdad Esfahbod be30bf9d 2025-01-27T14:22:31 [hvgl] Simplify master transforms a bit more
Behdad Esfahbod 93ddf8f8 2025-01-27T14:01:04 [hvgl] Move variables around
Behdad Esfahbod 49fd66eb 2025-01-27T13:58:59 [hvgl] Split apply_transforms into two loops The paper says walk them together, but the master can be applied separately before the extremums.
Behdad Esfahbod 19114e0c 2025-01-27T13:56:43 [hvgl] Micro-optimize transforms Measurable speedup.
Behdad Esfahbod b7a9f15d 2025-01-27T13:52:12 [hvgl] Simplify transforms Speeds up a bit too.
Behdad Esfahbod 3a8d6d60 2025-01-27T13:41:07 [hvgl] Iterate all four iterators together Instead of trying every row, sparsely process non-trivial rows.
Behdad Esfahbod a1fba4eb 2025-01-27T12:52:03 [hvgl] Micro-optimize
Behdad Esfahbod 8f505a70 2025-01-27T11:40:09 [hvgl] Speed up simd path Only process coord!=0 columns. For some reason I don't see any speedup :-(.
Behdad Esfahbod c111f088 2025-01-26T23:27:14 [hvgl] Simplify sanitize more
Behdad Esfahbod d4600d8d 2025-01-26T23:24:50 [hvgl] Simplify more sanitize
Behdad Esfahbod 41ee17e8 2025-01-26T23:19:43 [hvgl] Simplify sanitize
Behdad Esfahbod 4f3c3ee0 2025-01-26T22:58:49 [hvgl/simd] Only enable if little-endian
Behdad Esfahbod 8e7eeb5f 2025-01-26T22:54:52 Revert "[hvgl] Implement AVX" This reverts commit 82ac479cbb49a88946025be2b84315bfd6091d24.
Behdad Esfahbod e7ecc8e5 2025-01-26T22:52:29 [hvgl] Implement AVX Shows like only 2% / 3% speedup. Going to revert.
Behdad Esfahbod 8bd24679 2025-01-26T22:15:16 [hvgl] Minor macro def
Behdad Esfahbod c0f88772 2025-01-26T21:11:37 [hvgl] Micro-optimize
Behdad Esfahbod 50137437 2025-01-26T20:29:48 [hvgl] Micro-optimize
Behdad Esfahbod 1e8c858e 2025-01-26T20:22:39 [hvgl] Rewrite a loop No functionality change.
Behdad Esfahbod 07a97adb 2025-01-26T20:19:07 [hvgl] Remove an unnecessary check It's a rare case; no need to check it first.
Behdad Esfahbod 6da4fb10 2025-01-26T19:13:43 [config] Add HB_NO_SIMD
Behdad Esfahbod 2ba20cfe 2025-01-26T19:05:19 [hvgl] Micro-optimization leftover
Behdad Esfahbod 76017d56 2025-01-26T18:03:04 [hvgl/simd] Remove unaligned SIMD codepath The generic path is faster it seems.
Behdad Esfahbod c5e3fb5d 2025-01-26T17:57:06 [hvgl/simd] Reduce alignment requirement Speeds up a bit.
Behdad Esfahbod 587b1677 2025-01-26T17:28:08 [hvgl] Implement Apple SIMD 4x4 matrix usage Shows around 7% improvement only.
Behdad Esfahbod 6252d435 2025-01-26T14:32:24 [hvgl] Move code
Behdad Esfahbod 640d778b 2025-01-25T19:56:04 [hvgl] Minor micro-optimize
Behdad Esfahbod 93f0dd97 2025-01-25T12:44:42 [hvgl] Optimize away complex math Most of the time rotation is zero. It's the same test.
Behdad Esfahbod 25ed2c19 2025-01-25T12:33:45 [hvgl] Micro-optimize some more
Behdad Esfahbod 8e210127 2025-01-25T12:29:17 [hvgl] Micro-optimize segment access
Behdad Esfahbod 575a831b 2025-01-25T12:16:19 [hvgl] Micro micro optimize
Behdad Esfahbod 9c99c292 2025-01-25T12:05:25 [hvgl] Micro-optimize apply_transforms()
Behdad Esfahbod 7b724814 2025-01-25T12:01:53 [hvgl] Speed up hot loop