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
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
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
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
Mitchell Hashimoto
2dc8ae2ed7
renderer/metal: move more frame state to the frame
2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
1d41a3ccff
renderer/metal: start setting up per-frame state
2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
4398896905
renderer/opengl: strikethrough as sprite
2024-04-22 10:30:27 -07:00
Mitchell Hashimoto
ad08842e86
renderer/metal: remove strikethrough support from GPU
2024-04-22 10:26:51 -07:00
Mitchell Hashimoto
0f348e809e
font: strikethrough uses sprite rendering
2024-04-22 10:25:33 -07:00
Mitchell Hashimoto
06df9b7867
font: remove old files
2024-04-06 20:10:57 -07:00
Mitchell Hashimoto
e3402cef4d
address many fontmem todos
2024-04-06 20:00:22 -07:00
Mitchell Hashimoto
506ba854fa
core: font size changes work
2024-04-06 19:33:49 -07:00
Mitchell Hashimoto
b8d11e57c9
renderer/Metal: change font size works again
2024-04-06 10:55:58 -07:00
Mitchell Hashimoto
6aa659c4b5
renderer/metal: re-enable preedit rendering
2024-04-05 21:39:39 -07:00
Mitchell Hashimoto
29b172b3ac
renderer/metal: use new atlas APIs
2024-04-05 21:13:10 -07:00
Mitchell Hashimoto
c45747bf1f
font: implement many rendering, caching functions for SharedGrid
2024-04-05 20:50:35 -07:00
Mitchell Hashimoto
329697779a
renderer/metal: convert more
2024-04-05 18:51:26 -07:00
Mitchell Hashimoto
d6c048f1e3
renderer/metal: picking away at font group => grid changes
2024-04-05 15:35:16 -07:00
Mitchell Hashimoto
fd9280429e
renderer: re-enable URL underlining
2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
d1faa37b65
renderer/opengl: convert
2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
a697e97e08
renderer/metal: fix kitty image offset on screen
2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
0a3f431d1b
renderer/metal: almost bring back kitty images, some bugs
2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
9eeaa0d0a9
renderer/metal: re-enable selection awareness for shaping
2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
75255780e9
renderer/metal: show selections
2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
ff0e07a907
renderer/metal: re-enable the cursor, it works
2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
c61de49082
renderer/metal: port
2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
b48d24a546
update zig
2024-03-13 09:14:12 -07:00
Qwerasd
e8460fa2c2
fix(renderer): allocate enough room for fg cells
...
Previously encountered OOB when screen filled with cells with glyphs,
underlines, and strikethroughs. Also clarified comment slightly.
2024-03-03 20:26:51 -05:00
Jeffrey C. Ollie
18005ffa35
Fix shader time uniforms ( #1462 )
...
* fix shader time uniforms
* renderer/metal: one typo
---------
Co-authored-by: Mitchell Hashimoto <mitchell.hashimoto@gmail.com>
2024-02-04 20:50:07 -08:00
Mitchell Hashimoto
7b3deb13d8
renderer/metal: apply layerContentsPlacement on macOS to fix stretching
...
Fixes #42
2024-02-02 08:39:08 -08:00
Mitchell Hashimoto
6de4533afb
core: handle mouse capture events with link highlighting
...
Fixes #1416
At a high level, the issue is that when mouse capture is enabled (i.e. in
neovim), "shift" escapes the capture. So "cmd+shift" is equal to "cmd"
which doesn't get sent to the TUI program and so on. For link
highlighting which now requires "cmd" (super) is held, we were sending
"cmd+shift" to the renderer so we weren't checking for links.
So the core of this commit is respecting this scenario and stripping the
shift modifier.
This commit also found that when the mouse wasn't over a link, we were
always checking and highlighting links on line one of the visible
screen. This bug is fixed and should also result in a very slight
performance improvement on rendering in all cases.
2024-02-01 09:19:39 -08:00