Mitchell Hashimoto
e4b8cac7ad
renderer/opengl: reset screen uniforms on font change
...
Fixes #2067
2024-08-09 10:26:46 -07:00
Qwerasd
f47ab3e5b5
fix: add Contents.bgCell
to avoid accidentally indexing with undersized ints
2024-08-08 21:02:26 -04:00
Qwerasd
740dce6e66
fix: promote dimensions to usize so cell_count doesn't overflow
2024-08-08 20:43:47 -04:00
Qwerasd
bdbf5ad1c7
remove superfluous slicing syntax
2024-08-08 19:10:00 -04:00
Qwerasd
e4ab550ea1
comment
2024-08-08 19:09:30 -04:00
Qwerasd
732483c08a
renderer/metal: use memset to clear bg cell rows
2024-08-08 19:05:42 -04:00
Qwerasd
d68906563e
renderer/metal: properly support padding color = background (not extend)
2024-08-08 19:03:39 -04:00
Qwerasd
e5241cb659
renderer/Metal: remove extraneous len arg from drawCellBgs
2024-08-07 18:30:44 -04:00
Qwerasd
3a58b89ef1
fix: use single triangle for metal post shader vertex
2024-08-07 18:17:49 -04:00
Qwerasd
76dc157675
fix tests
2024-08-07 18:02:11 -04:00
Qwerasd
6339f9bae9
renderer: metal shaders rework
...
- Significant changes to optimize memory usage.
- Adjusted formatting of the metal shader code to improve readability.
- Normalized naming conventions in shader code.
- Abstracted repetitive code for attribute descriptors to a helper
function.
2024-08-07 17:39:31 -04:00
Mitchell Hashimoto
c116d147d6
build: build metal lib
2024-08-06 15:30:48 -07:00
Mitchell Hashimoto
14a42fcdb7
renderer/metal: load shaders from precompiled lib
2024-08-06 15:05:10 -07:00
Mitchell Hashimoto
e5a087e143
renderer/metal: fix warnings compiling metal shader
2024-08-06 10:43:57 -07:00
Mitchell Hashimoto
389cc95394
renderer/metal: powerline enum value used wrong value
2024-08-06 10:22:08 -07:00
Mitchell Hashimoto
0f8ed39766
Merge pull request #2049 from pluiedev/fix/exempt-powerline-from-minimum-contrast
...
renderer: exempt Powerline cells from minimum contrast requirements
2024-08-06 10:12:14 -07:00
Mitchell Hashimoto
247d5e4411
renderer/opengl: comptime assertion to verify
2024-08-06 10:07:08 -07:00
Mitchell Hashimoto
5be3098963
comment
2024-08-06 10:04:56 -07:00
Leah Amelia Chen
503dfae6ff
renderer: exempt Powerline cells from minimum contrast requirements
...
With a minimum contrast set, the colored glyphs that Powerline uses
would sometimes be set to white or black while the surrounding background
colors remain unchanged, breaking up contiguous colors on segments of
the Powerline.
This no longer happens with this patch as Powerline glyphs are now
special-cased and exempt from the minimum contrast adjustment.
2024-08-06 15:28:50 +08:00
Łukasz Niemier
f9be02a20f
chore: clean up typos
2024-08-05 13:56:57 +02:00
Mitchell Hashimoto
ea551990eb
renderer: disable window-padding-color=extend in certain scenarios
...
There are scenarios where this configuration looks bad. This commit
introduces some heuristics to prevent it. Here are the heuristics:
* Extension is always enabled on alt screen.
* Extension is disabled if a row contains any default bg color. The
thinking is that in this scenario, using the default bg color looks
just fine.
* Extension is disabled if a row is marked as a prompt (using semantic
prompt sequences). The thinking here is that prompts often contain
perfect fit glyphs such as Powerline glyphs and those look bad when
extended.
This introduces some CPU cost to the extension feature but it should be
minimal and respects dirty tracking. This is unfortunate but the feature
makes many terminal scenarios look much better and the performance cost
is minimal so I believe it is worth it.
Further heuristics are likely warranted but this should be a good
starting set.
2024-08-03 21:56:19 -07:00
Mitchell Hashimoto
1cc5a69c43
Revert "renderer/metal: can access grid metrics directly on font grid"
...
This reverts commit 172179bbff7d3f0df73ba1c29c6906b69ead2619.
2024-08-03 18:37:42 -07:00
Mitchell Hashimoto
172179bbff
renderer/metal: can access grid metrics directly on font grid
...
Its never recalculated so we don't need a lock.
2024-08-03 18:37:15 -07:00
Mitchell Hashimoto
56b3aa0b5e
renderer/metal: font grid change should run all screen size logic
2024-08-03 18:33:53 -07:00
Mitchell Hashimoto
ed1c163c7b
renderer/opengl: support window-padding-color=extend
2024-08-03 16:29:17 -07:00
Mitchell Hashimoto
55e8c421b5
config: add window-padding-color
2024-08-03 16:14:14 -07:00
Mitchell Hashimoto
9214db3c5f
renderer/metal: handle top/left
2024-08-03 16:03:42 -07:00
Mitchell Hashimoto
5309f4d080
renderer/metal: extend background color of grid border into padding
2024-08-03 15:39:02 -07:00
Mitchell Hashimoto
62cc279fc0
Merge pull request #1989 from gpanders/cursor-invert-fg-bg
...
config: add cursor-invert-fg-bg option
2024-07-31 19:39:27 -07:00
Mitchell Hashimoto
09e367fe09
Merge pull request #2015 from ghostty-org/kitty-unicode
...
Kitty Graphics Unicode Placeholders
2024-07-31 09:56:12 -07:00
Mitchell Hashimoto
765254e784
renderer/opengl: unicode placeholder support
2024-07-29 19:15:42 -07:00
Mitchell Hashimoto
0c81ca44b8
terminal/kitty: do not render blank virtual placement cells
2024-07-29 14:52:09 -07:00
Mitchell Hashimoto
079420730a
renderer/metal: address some todos
2024-07-29 10:55:50 -07:00
Mitchell Hashimoto
359458b96a
terminal/kitty: switch to new placement math
2024-07-29 10:52:10 -07:00
Mitchell Hashimoto
0ebf14fd44
terminal/kitty: working on moving placement math here for testing
2024-07-29 10:39:18 -07:00
Mitchell Hashimoto
4bf8d30b44
renderer/metal: rewrite kitty placeholder handling
2024-07-29 09:35:51 -07:00
Mitchell Hashimoto
6668930b96
terminal: appendGrapheme should text for codepoint, not text
2024-07-26 12:24:35 -07:00
Mitchell Hashimoto
a5d39103c9
renderer/metal: calculate proper grid offsets for image
2024-07-26 12:21:37 -07:00
Mitchell Hashimoto
3d4dd5277e
renderer/metal: virtual placements are kind of rendering
2024-07-25 22:08:02 -07:00
Mitchell Hashimoto
d6d95209c6
renderer/metal: extract out some image placement logic
2024-07-25 21:35:38 -07:00
Mitchell Hashimoto
763e7fab8a
renderer: skip virtual placements
2024-07-25 21:32:44 -07:00
Qwerasd
f17c072637
renderer/metal: use swap chain for custom shader passes
2024-07-25 21:16:35 -04:00
Mitchell Hashimoto
910ef97080
renderer/metal: zig fmt
2024-07-23 10:02:02 -07:00
Mitchell Hashimoto
12f0108673
renderer/metal: fix custom shader animations with display link
2024-07-22 15:32:58 -07:00
Gregory Anders
3e4a8644b5
renderer/opengl: implement cursor-invert-fg-bg
2024-07-22 16:23:06 -05:00
Gregory Anders
b09e4e5d63
config: add cursor-invert-fg-bg option
...
When set, the cursor-invert-fg-bg option uses the inverted foreground
and background colors of the cursor's current cell to color the cursor,
rather than using a fixed color. This option has higher precedence than
the cursor-color and cursor-text options, but has lower precedence than
an OSC 12 command to change the cursor color.
2024-07-22 08:42:30 -05:00
Mitchell Hashimoto
c51682a5c2
renderer: match no-ID OSC8 in contiguous chunks
2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
925ad5b45c
renderer: match multiple lines for osc8
2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
041c779512
renderer: matchSet matches OSC8
2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
af132a3838
Merge pull request #1872 from qwerasd205/various-performance
...
Various Performance Changes
2024-06-23 09:51:21 -07:00