Qwerasd
db2cefb668
misc: improve rebuildCells time logging
2024-06-10 12:20:49 -04:00
Mitchell Hashimoto
a502089582
renderer/opengl: don't append assume capacity
...
Fixes #1815
2024-06-03 20:55:11 -07:00
Jan200101
94a7166028
terminal: support using the bright palette for bold text
2024-05-25 16:58:19 +02:00
Mitchell Hashimoto
06bcbe868f
renderer: kitty image with y offset should stretch image
...
Fixes #1784
This was just a misunderstanding of the "spec." When both a y offset
into the image is specified and a height, the image should be stretched.
I mistakingly thought that the image should be offset (even with this
misunderstanding there was a data corruption bug).
This resolves the issue and output matches Kitty.
2024-05-22 15:40:31 -04:00
Qwerasd
ac5725d582
fix(renderer): rebuild font grid and reset shaper cache on hot reload
...
When hot reloading config with a new font, shaper cache data needs to be
invalidated and the font grid needs to be rebuilt. This change just
makes that happen on all config reloads since it's a rare action so it's
not a performance concern.
2024-05-10 09:39:07 -07:00
Mitchell Hashimoto
61fd7f7fbf
renderer/metal: reset cells when font size changes to avoid blank
...
Fixes #1743
2024-05-09 09:48:08 -07:00
Qwerasd
7e9bdb84a8
renderer/Metal: cell Contents asserts
2024-05-07 21:19:22 -04:00
Qwerasd
c801e28c39
renderer/Metal: cell Contents tests
2024-05-07 21:13:50 -04:00
Qwerasd
4f26eb203b
renderer/Metal: cell Contents cleanup
...
Cleaned up naming, some logic changes, added comments.
2024-05-07 20:46:20 -04:00
Qwerasd
adf211f5d5
renderer/Metal: ArrayList cell Contents rows
...
This will allow for unlimited glyphs per row, eliminating the issue run in to with multi-substitution glyphs and combining characters which can result in more glyphs in a row than there are columns.
2024-05-07 19:19:06 -04:00
Qwerasd
dafabe3296
renderer/Metal: improve cell contents tracking
...
Previous version prevented multiple glyphs from belonging to the same coordinate, which broke quite a few things. This implementation fixes that (and may be more efficient too). Needs clean-up.
2024-05-07 19:19:06 -04:00
Mitchell Hashimoto
165c2d9056
renderer/metal: rebuild full screen when viewport changes
2024-05-07 10:22:12 -07:00
Mitchell Hashimoto
a84314befe
renderer/metal: disable bandaid
2024-05-07 09:51:45 -07:00
Mitchell Hashimoto
c2c8660c62
renderer/metal: disable dirty tracking temporarily
...
While #1731 is not fixed.
2024-05-07 07:26:59 -07:00
Mitchell Hashimoto
4c39739a26
renderer/metal: rebuild all cells on resize
2024-05-06 20:51:55 -07:00
Mitchell Hashimoto
26300447e4
renderer/metal: reset screen dirty flags
...
I introduced screen dirty flags fairly late, and never reset them. As a
result, dirty tracking basically gets disabled as soon as selection
changes in any form. This happens frequently because _unsetting_
selection also resets selection which happens for various events.
2024-05-06 18:31:26 -07:00
Mitchell Hashimoto
8fdf6b4b64
renderer: add window-vsync option (defaults to false)
2024-05-05 10:18:15 -07:00
Mitchell Hashimoto
ca9689be46
renderer/metal: API to handle macOS display ID changing
2024-05-04 19:40:58 -07:00
Mitchell Hashimoto
6b3cb69101
renderer/metal: clean up some unnecessary state around rebuilds
2024-05-04 19:06:43 -07:00
Mitchell Hashimoto
0836aa7318
renderer: add comment why we have dead code
2024-05-04 14:50:15 -07:00
Mitchell Hashimoto
c56e016ab3
renderer: remove 10ms delay on repaint
2024-05-04 14:50:15 -07:00
Mitchell Hashimoto
b00e7009d7
renderer/metal: do not update frames if cells don't change
2024-05-04 14:50:13 -07:00
Mitchell Hashimoto
92caea6948
renderer/metal: remove unnecessary logs
2024-05-04 14:49:50 -07:00
Mitchell Hashimoto
ac813c9244
renderer/metal: stop/start display link on occlusion
2024-05-04 14:49:50 -07:00
Mitchell Hashimoto
6ae1784f4b
renderer/metal: stop display link when we lose focus
2024-05-04 14:49:49 -07:00
Mitchell Hashimoto
a40ffad218
renderer/metal: setup display link
2024-05-04 14:49:49 -07:00
Mitchell Hashimoto
fe7ff998c9
renderer: move our constant draw timer up to 120fps
...
Our renderers can now handle it
2024-05-04 14:49:49 -07:00
Mitchell Hashimoto
caaf6a496f
renderer: add draw now async wakeup
2024-05-04 14:49:48 -07:00
Mitchell Hashimoto
7c9ce0af73
terminal: Screen selection marks dirty
2024-05-01 20:41:53 -07:00
Mitchell Hashimoto
22702b6941
renderer/metal: re-enable triple buffer
2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
b166ca7e30
renderer/Metal: only rebuild rows that are dirty
2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
4f2ee95ecd
renderer/metal: docs
2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
bc0e4c6d8f
renderer/metal: don't log
2024-05-01 19:49:50 -07:00
Mitchell Hashimoto
74236d2db6
renderer/metal: log some cache info
2024-05-01 19:49:22 -07:00
Mitchell Hashimoto
406824bcd4
renderer/opengl: use shaper cache
2024-05-01 19:43:48 -07:00
Mitchell Hashimoto
d7de26ef58
renderer/metal: integrate shaping cache
2024-05-01 19:01:08 -07:00
Mitchell Hashimoto
d15b5e3e49
renderer/metal: skip frame update if our cell buffer is too small
...
See the comment in the diff for when this can happen.
2024-04-29 12:28:17 -07:00
Mitchell Hashimoto
cbc1ec73ed
renderer/metal: only delete values from the same array
2024-04-28 14:38:36 -07:00
Mitchell Hashimoto
71b90bb2e0
renderer/metal: font changes needs to reset cell contents
2024-04-28 14:10:54 -07:00
Mitchell Hashimoto
b1f324e87a
renderer/metal: frame index must fit up to buffer count
2024-04-28 10:02:07 -07:00
Mitchell Hashimoto
105dbe9e05
renderer/metal: go back to single buffering for now
2024-04-28 09:52:51 -07:00
Mitchell Hashimoto
a54fbe328c
renderer/metal: improved comments
2024-04-28 09:52:29 -07:00
Mitchell Hashimoto
a299338099
renderer/metal: remove old functions
2024-04-28 09:41:45 -07:00
Mitchell Hashimoto
f7714a113d
renderer/opengl: fix compilation
2024-04-28 09:40:03 -07:00
Mitchell Hashimoto
313eb1176d
renderer/metal: preedit works again
2024-04-28 09:37:06 -07:00
Mitchell Hashimoto
06f21a0daa
renderer/metal: only invert if block
2024-04-27 22:26:40 -07:00
Mitchell Hashimoto
3a7dc355a0
renderer/metal: invert text under cursor again
2024-04-27 22:13:17 -07:00
Mitchell Hashimoto
c15f4d7258
renderer/metal: render the cursor
2024-04-27 22:01:03 -07:00
Mitchell Hashimoto
fe4fc509e9
renderer/metal: use index() for all cell settings
2024-04-27 21:42:09 -07:00
Mitchell Hashimoto
ef326ad11c
renderer/metal: clear cell contents bottom-up
2024-04-26 21:53:29 -07:00