<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/src/renderer/generic.zig, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/'/>
<entry>
<title>Fix typos</title>
<updated>2025-10-03T16:52:26+00:00</updated>
<author>
<name>Andreas Deininger</name>
<email>andreas@deininger.net</email>
</author>
<published>2025-10-03T16:47:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=a667b740eefb03962b69f238a10d539791120112'/>
<id>a667b740eefb03962b69f238a10d539791120112</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "renderer: slightly optimize screen copy"</title>
<updated>2025-09-30T16:07:25+00:00</updated>
<author>
<name>Jeffrey C. Ollie</name>
<email>jeff@ocjtech.us</email>
</author>
<published>2025-09-30T16:07:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=86fb03677ae0904422a05848e7a9cb76dc09586e'/>
<id>86fb03677ae0904422a05848e7a9cb76dc09586e</id>
<content type='text'>
This reverts commit fcea09e413a55c677dca377f716aa9bc6465306b.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit fcea09e413a55c677dca377f716aa9bc6465306b.
</pre>
</div>
</content>
</entry>
<entry>
<title>renderer: slightly optimize screen copy</title>
<updated>2025-09-30T14:27:40+00:00</updated>
<author>
<name>Qwerasd</name>
<email>qwerasd205@users.noreply.github.com</email>
</author>
<published>2025-09-29T00:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=fcea09e413a55c677dca377f716aa9bc6465306b'/>
<id>fcea09e413a55c677dca377f716aa9bc6465306b</id>
<content type='text'>
Changes it so that the renderer retains its own MemoryPool for PageList
pages so that new pages rarely need to be allocated when cloning the
screen. Also switches to using an arena allocator in `updateFrame` to
avoid having to deinit the cloned screen since instead we can just throw
out the memory.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes it so that the renderer retains its own MemoryPool for PageList
pages so that new pages rarely need to be allocated when cloning the
screen. Also switches to using an arena allocator in `updateFrame` to
avoid having to deinit the cloned screen since instead we can just throw
out the memory.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrite constraint code for improved icon scaling/alignment</title>
<updated>2025-09-29T19:09:21+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-09-07T02:21:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=e3ebdc79756985ee541b6b1ed402da596b39318b'/>
<id>e3ebdc79756985ee541b6b1ed402da596b39318b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>renderer: create explicit sampler state for custom shaders</title>
<updated>2025-09-18T16:25:37+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-09-18T15:57:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=a45368161507343c5ce540c2e2bb9ba41bc46e91'/>
<id>a45368161507343c5ce540c2e2bb9ba41bc46e91</id>
<content type='text'>
The GLSL to MSL conversion process uses a passed-in sampler state for
the `iChannel0` parameter and we weren't providing it. This magically
worked on Apple Silicon for unknown reasons but failed on Intel GPUs.

In normal, hand-written MSL, we'd explicitly create the sampler state as
a normal variable (we do this in `shaders.metal` already!), but the
Shadertoy conversion stuff doesn't do this, probably because the exact
sampler parameters can't be safely known.

This fixes a Metal validation error when using custom shaders:

```
-[MTLDebugRenderCommandEncoder validateCommonDrawErrors:]:5970: failed 
assertion `Draw Errors Validation Fragment Function(main0): missing Sampler 
binding at index 0 for iChannel0Smplr[0].
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The GLSL to MSL conversion process uses a passed-in sampler state for
the `iChannel0` parameter and we weren't providing it. This magically
worked on Apple Silicon for unknown reasons but failed on Intel GPUs.

In normal, hand-written MSL, we'd explicitly create the sampler state as
a normal variable (we do this in `shaders.metal` already!), but the
Shadertoy conversion stuff doesn't do this, probably because the exact
sampler parameters can't be safely known.

This fixes a Metal validation error when using custom shaders:

```
-[MTLDebugRenderCommandEncoder validateCommonDrawErrors:]:5970: failed 
assertion `Draw Errors Validation Fragment Function(main0): missing Sampler 
binding at index 0 for iChannel0Smplr[0].
```
</pre>
</div>
</content>
</entry>
<entry>
<title>comment + style changes</title>
<updated>2025-09-08T16:40:56+00:00</updated>
<author>
<name>Qwerasd</name>
<email>qwerasd205@users.noreply.github.com</email>
</author>
<published>2025-09-08T16:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=31e54ff44abae6c410de933f5867ee7c1d537369'/>
<id>31e54ff44abae6c410de933f5867ee7c1d537369</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Position-independent font shaper caching</title>
<updated>2025-09-07T22:33:35+00:00</updated>
<author>
<name>Jesse Miller</name>
<email>jmiller@jmiller.com</email>
</author>
<published>2025-09-06T17:26:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=ecf3e2ad7d29b5597953388148fb15036e82d814'/>
<id>ecf3e2ad7d29b5597953388148fb15036e82d814</id>
<content type='text'>
Use relative cluster positioning to allow identical texts runs in
different row positions to share the same cache entry.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use relative cluster positioning to allow identical texts runs in
different row positions to share the same cache entry.
</pre>
</div>
</content>
</entry>
<entry>
<title>font: constrain dingbats</title>
<updated>2025-09-04T00:01:40+00:00</updated>
<author>
<name>Qwerasd</name>
<email>qwerasd205@users.noreply.github.com</email>
</author>
<published>2025-09-04T00:01:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=24647288519117a0841e4824f8663598810483bc'/>
<id>24647288519117a0841e4824f8663598810483bc</id>
<content type='text'>
This was a regression, we were giving dingbats an extra cell of
constraint width but not actually applying constraints to them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was a regression, we were giving dingbats an extra cell of
constraint width but not actually applying constraints to them.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(renderer): kitty images should all be processed</title>
<updated>2025-09-02T18:42:34+00:00</updated>
<author>
<name>Qwerasd</name>
<email>qwerasd205@users.noreply.github.com</email>
</author>
<published>2025-09-02T18:42:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=ef7857f9be6054ee7a7fd732cbb54791f5c004b7'/>
<id>ef7857f9be6054ee7a7fd732cbb54791f5c004b7</id>
<content type='text'>
When processing kitty images in a loop in a few places we were returning
under certain conditions where we should instead have just continued the
loop. This caused serious problems for kitty images, especially for apps
that used multiple images on screen at once.

... I have no clue how I originally wrote this code and didn't see such
a trivial mistake, I think I was sleep deprived or something.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When processing kitty images in a loop in a few places we were returning
under certain conditions where we should instead have just continued the
loop. This caused serious problems for kitty images, especially for apps
that used multiple images on screen at once.

... I have no clue how I originally wrote this code and didn't see such
a trivial mistake, I think I was sleep deprived or something.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: added faint-opacity option (#8472)</title>
<updated>2025-08-31T20:45:26+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-08-31T20:45:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=2009ea511d30efd4fb96bd8788b18767f614956d'/>
<id>2009ea511d30efd4fb96bd8788b18767f614956d</id>
<content type='text'>
This pull request adds the `--faint-opacity` option, as discussed in
#7637.

The default value of the option is also changed from `0.68` to `0.5` for
greater consistency with other popular terminal emulators.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pull request adds the `--faint-opacity` option, as discussed in
#7637.

The default value of the option is also changed from `0.68` to `0.5` for
greater consistency with other popular terminal emulators.</pre>
</div>
</content>
</entry>
</feed>
