32 Commits

Author SHA1 Message Date
Mitchell Hashimoto
78fbf9cb06 remove stage1 workarounds 2022-11-15 13:19:01 -08:00
Mitchell Hashimoto
4727fa9b7b move opengl to renderer dir 2022-11-15 13:12:30 -08:00
Mitchell Hashimoto
18de7cd2ef Move shaders into the renderer dir 2022-11-15 13:10:43 -08:00
Mitchell Hashimoto
d7d12d9469 explicit padding works 2022-11-14 17:13:56 -08:00
Mitchell Hashimoto
c515cb9b5f initial padding options 2022-11-14 16:19:20 -08:00
Mitchell Hashimoto
184b43ebd6 opengl: padding is done via ortho matrix rather than viewport 2022-11-14 13:13:50 -08:00
Mitchell Hashimoto
4cab24a3da extract auto-padding code to shared logic 2022-11-14 13:10:12 -08:00
Mitchell Hashimoto
f73753ac6f opengl: automatically pad render area to balance non-grid space 2022-11-14 12:24:38 -08:00
Mitchell Hashimoto
019f1e34bb metal: copy screen data (see opengl commit for why) 2022-11-13 17:29:23 -08:00
Mitchell Hashimoto
333ff1e634 opengl: handle screen resize outside of critical area 2022-11-13 16:19:38 -08:00
Mitchell Hashimoto
f1c69343d3 opengl: copy screen data instead of sharing state
Through benchmarking I've determined this lowers lock contention by
about 50% on the critical data.
2022-11-13 16:16:08 -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
c1b70cb788 metal: devmode 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
f89b5d12f6 fixed bugs 2022-10-29 09:48:57 -07:00
Mitchell Hashimoto
b4a83d98c4 window no longer makes any OpenGL calls 2022-10-28 09:24:40 -07:00
Mitchell Hashimoto
233ee2b3eb fixing more memory leaks 2022-10-25 15:40:26 -07:00
Mitchell Hashimoto
ef57e1e56a free memory in cells LRU 2022-10-24 16:09:08 -07:00
Mitchell Hashimoto
536f5c4487 set proper opengl background 2022-10-24 10:04:40 -07:00
Mitchell Hashimoto
b4859625bf bring back out of focus no blink 2022-10-24 10:01:38 -07:00
Mitchell Hashimoto
dc908cb73d support screen size, rip out shared state 2022-10-24 09:52:08 -07:00
Mitchell Hashimoto
45ff936ddf no longer store grid size on the renderer 2022-10-24 09:32:51 -07:00
Mitchell Hashimoto
ce384c2356 renderer: extract the size structs to a shared file 2022-10-24 09:27:09 -07:00
Mitchell Hashimoto
aa3d132947 run rendering on another real thread (still bugs) 2022-10-24 09:17:48 -07:00
Mitchell Hashimoto
aeb592bae9 move to new renderstate, new render method 2022-10-23 21:04:52 -07:00
Mitchell Hashimoto
b347ff458b prepare our render state on the window 2022-10-23 20:55:04 -07:00
Mitchell Hashimoto
9913bba2e8 introduce renderer thread logic (not starting it yet) 2022-10-23 20:18:10 -07:00
Mitchell Hashimoto
de9731da1f rename grid to a renderer, extract to subfolder
"Grid" was a really antiquated name when it had both the screen state
AND the renderering functionality tied together. This hasn't been true
for a LONG time and it is long overdue that this is renamed to its
proper name.

This also begins setting up a folder structure to anticipate future
renderers and rendering functionality. I'm not working on any alternate
renderers right now so the interface isn't expected to be good, just
laying out the files in this way.
2022-10-23 16:47:34 -07:00