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
Mitchell Hashimoto
e397abcadd
renderer/metal: swap to new cell contents map
2024-04-26 21:24:14 -07:00
Mitchell Hashimoto
3f16234f72
terminal: Coordinate uses CellCountInt
2024-04-26 20:52:08 -07:00
Mitchell Hashimoto
2b67eaa18d
renderer/metal: working on cell contents map
2024-04-26 20:35:25 -07:00
Mitchell Hashimoto
ced8776120
renderer/metal: grid pos for bg/text should be ushort2
...
This saves 50% memory per vertex.
2024-04-25 19:16:40 -07:00
Mitchell Hashimoto
da55da2c96
renderer/metal: prepare cell contents mapping data (not implemented yet)
2024-04-23 21:51:44 -07:00
Mitchell Hashimoto
556f52015b
renderer/metal: update comment
2024-04-22 11:06:07 -07:00
Mitchell Hashimoto
e07ae90d49
renderer/metal: rename drawcells
2024-04-22 10:59:36 -07:00
Mitchell Hashimoto
d12e3db599
renderer/metal: dedicated cell fg shader
2024-04-22 10:58:23 -07:00
Mitchell Hashimoto
e8b623e829
renderer/metal: dedicated cell bg shader
2024-04-22 10:43:29 -07:00
Mitchell Hashimoto
7a6a2b0752
renderer/metal: don't draw with zero instances
2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
8093088515
renderer/metal: move more metal objects into GPUState
2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
20bfbd9b2e
renderer/metal: implement triple-buffering
2024-04-22 10:42:35 -07:00