222 Commits

Author SHA1 Message Date
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
Leaf Garland
d1d7665510 Default to background color for cursor-text
Previously the default was black which doesn't work so well if the
cursor block is dark.
2024-01-28 20:20:40 +13:00
Mitchell Hashimoto
ae11cc9042 add a new highlight state that requires modifiers 2024-01-27 19:03:03 -08:00
Mitchell Hashimoto
aa147413c7 renderer/metal: only set shared texture mode on aarch64
This setting is only supported on aarch64.
2024-01-23 14:09:48 -08:00
jcalabro
bc972a4c44 set the atlas texture memory storage mode to shared 2024-01-22 21:24:03 -05:00
Mitchell Hashimoto
7c8b156960 kitty images: support pngs with greyscale/alpha (bpp=2)
Fixes #1355
2024-01-22 14:32:27 -08:00
Mitchell Hashimoto
344c2db097 renderer/metal: initialize layer in init, handle iOS layer 2024-01-18 18:51:01 -08:00
Mitchell Hashimoto
95f729a5fc renderer/metal: only set wantsLayer for AppKit 2024-01-18 15:36:06 -08:00
Mitchell Hashimoto
26e6e8cec8 apprt/embedded: add iOS platform with uivew 2024-01-18 15:03:03 -08:00
Mitchell Hashimoto
01afa293c8 apprt/embedded: fix initialization on macOS 2024-01-18 08:55:03 -08:00
Mitchell Hashimoto
90ea950d71 renderer/metal: use a semaphore to protect deinit while waiting for GPU 2024-01-16 12:18:55 -08:00
Mitchell Hashimoto
c28f2e36cc renderer/metal: do not be unhealthy by default :) 2024-01-16 11:28:01 -08:00
Mitchell Hashimoto
376345dcae macos: detect renderer health failures and show error view 2024-01-16 11:27:18 -08:00
Mitchell Hashimoto
0277a0fb4c renderer/metal: detect frame commit failures and notify surface 2024-01-16 10:51:36 -08:00