Mitchell Hashimoto
fe4fc509e9
renderer/metal: use index() for all cell settings
2024-04-27 21:42:09 -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
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
1d41a3ccff
renderer/metal: start setting up per-frame state
2024-04-22 10:42:35 -07:00
Mitchell Hashimoto
ad08842e86
renderer/metal: remove strikethrough support from GPU
2024-04-22 10:26:51 -07: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
0277a0fb4c
renderer/metal: detect frame commit failures and notify surface
2024-01-16 10:51:36 -08:00
Mitchell Hashimoto
0b658c8217
renderer/metal: constrain PUA glyphs if they aren't next to space
2023-12-16 20:07:25 -08:00
Mitchell Hashimoto
0b60ae0010
renderer/metal,opengl: replace matching image IDs if transmit time differs
...
Fixes #1037
Renderers must convert the internal Kitty graphics state to a GPU
texture for rendering. For performance reasons, renderers cache the GPU
state by image ID. Unfortunately, this meant that if an image was
replaced with the same ID and was already cached, it would never be
updated on the GPU.
This PR adds the transmission time to the cache. If the transmission
time differs, we assume the image changed and replace the image.
2023-12-10 09:16:10 -08:00
Mitchell Hashimoto
7af4009f27
renderer/metal: minimum contrast ratio is configurable
2023-12-01 21:24:38 -08:00
Mitchell Hashimoto
6c859cca82
renderer/metal: minimum contrast experiment
...
This uses WCAG2 algorithms with a minimum ratio hardcoded of 3:1. This
is not shippable in its current state because we want the ratio to be
configurable and I'm not happy with the way data is being sent to the
shader.
2023-12-01 20:51:16 -08:00
Mitchell Hashimoto
5d7c47a469
renderer/metal: clean up some memory management
2023-11-17 21:51:06 -08:00
Mitchell Hashimoto
4742cd308d
renderer: animation timer if we have custom shaders
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
bc70d19257
renderer/metal: set valid sampler properties
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
01a73994cb
renderer/metal: setup sampler state
2023-11-17 21:50:53 -08:00
Mitchell Hashimoto
c347148fd7
renderer/metal: CRT effect, ugly hacky code
2023-11-17 21:50:34 -08:00
Mitchell Hashimoto
28246a80b8
renderer/metal: release some of our shader initialization objects
2023-11-17 21:50:34 -08:00
Mitchell Hashimoto
3095dce685
renderer/metal: wip for loading custom shader pipelines
2023-11-17 21:50:34 -08:00
Mitchell Hashimoto
67dce5ce0e
update zig-objc
2023-11-17 21:50:34 -08:00
Mitchell Hashimoto
4b38fb96db
terminal/kitty-gfx: honor "z" setting
2023-08-23 09:55:13 -07:00
Mitchell Hashimoto
7ff76ca00d
terminal/kitty-gfx: respect display c/r params
2023-08-22 14:43:50 -07:00
Mitchell Hashimoto
3bbfee676b
terminal/kitty-gfx: process source rectangle display params
2023-08-22 14:33:41 -07:00
Mitchell Hashimoto
84c72bbe46
renderer/metal: honor cell offset graphics command
2023-08-22 13:28:40 -07:00
Mitchell Hashimoto
5a9bbcbc2d
renderer/metal: clip image if necessary off top of viewport (scrolling)
2023-08-22 11:32:45 -07:00
Mitchell Hashimoto
cb70d86c00
renderer/metal: emit draw calls for images
2023-08-22 10:12:40 -07:00
Mitchell Hashimoto
e665fc6741
renderer/metal: first pass at an image shader
2023-08-22 09:20:30 -07:00
Mitchell Hashimoto
5229cb93d2
renderer/metal: extract helpers for shaders/buffers
2023-08-22 08:49:34 -07:00
Mitchell Hashimoto
da4ead8f60
renderer/metal: deallocate unused image textures
2023-08-21 22:11:58 -07:00
Mitchell Hashimoto
20257c7a87
renderer/metal: images required by placements become textures
2023-08-21 21:40:57 -07:00