285 Commits

Author SHA1 Message Date
Mitchell Hashimoto
3de68e1d7a fix memory leaks with metal resources and multi-window/tab 2022-11-18 14:25:02 -08:00
Mitchell Hashimoto
da5164a539 metal: implement two-pass render for bg 2022-11-18 13:54:45 -08:00
Mitchell Hashimoto
4521efb83d move screen resize to a renderer mailbox message 2022-11-17 13:55:04 -08:00
Mitchell Hashimoto
7e24faac72 metal: implement font size changing 2022-11-15 20:18:39 -08:00
Mitchell Hashimoto
18de7cd2ef Move shaders into the renderer dir 2022-11-15 13:10:43 -08:00
Mitchell Hashimoto
e6c7fd0214 metal: understand explicit padding 2022-11-14 17:35:10 -08:00
Mitchell Hashimoto
4cab24a3da extract auto-padding code to shared logic 2022-11-14 13:10:12 -08:00
Mitchell Hashimoto
024cd65ac8 metal: implement auto padding 2022-11-14 12:37:29 -08:00
Mitchell Hashimoto
019f1e34bb metal: copy screen data (see opengl commit for why) 2022-11-13 17:29:23 -08:00
Mitchell Hashimoto
fd304c9338 Deinit devmode more cleanly 2022-11-06 17:26:01 -08:00
Mitchell Hashimoto
ecbd119654 Hook up new window, modify renderers 2022-11-06 10:34:43 -08:00
Mitchell Hashimoto
746858cea6 implement cursor reset when data comes in pty 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
aa98e3ca3a Move cursor timer to renderer 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
e2d8ffc3c1 renderer mailbox, focus message 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
8dd68ea5fe metal: reallocate textures if they grow 2022-10-31 10:42:27 -07:00
Mitchell Hashimoto
20adaa7b66 metal: disable v-sync 2022-10-31 10:25:49 -07:00
Mitchell Hashimoto
1d1f161b03 metal: fix double wide cell width 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
ddc0d60ea2 metal: set contentsScale and handle screen scale factor for retina 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
c1b70cb788 metal: devmode 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
666833f12f metal: color textures 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
ee45d363a9 metal: cursor and underline 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
4b5174d2c6 metal: blending 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
178418834c metal: glyphs show up (poorly) 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
0058906035 metal: handle HiDPI scaling 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
fb49595904 metal: pass colors in 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
a7c1f63ad8 metal: populate the greyscale texture, prep ubershader 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
89610f9b8d metal: setup vertex data 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
6b7ed3fefb metal: use content scale when resizing 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
ea0265f021 projection matrix, render cell 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
a17a7426a3 draw a square, handle resize 2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
4d4c1790cb draw a triangle 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
fc7e457098 add first pass metal shader 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
90a284e176 boilerplate for rendering 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
090bab6798 metal: setup the render loop, draw the background color 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
07271a6cfd Initial metal abstraction (noop) 2022-10-31 09:44:36 -07:00