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