<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/common/settings.h, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>fix(renderer_vulkan): resolve asynchronous presentation crashes and compilation errors</title>
<updated>2025-05-12T11:46:19+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-05-01T07:02:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=321829c7d0c6d6737c47aaf52bf6d47c7b2cf8aa'/>
<id>321829c7d0c6d6737c47aaf52bf6d47c7b2cf8aa</id>
<content type='text'>
Fix multiple issues in the Vulkan asynchronous presentation implementation:

- Convert regular mutexes to timed_mutex for timeout support
- Use condition_variable_any for compatibility with timed_mutex
- Fix thread synchronization with proper locking and error handling
- Add VkResultToString helper to replace missing ToString function
- Implement better error recovery with recreation attempt limits
- Add comprehensive logging for better troubleshooting

These changes make the asynchronous presentation feature more robust
and less prone to deadlocks, while keeping it disabled by default since
it may still cause instability in some games.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix multiple issues in the Vulkan asynchronous presentation implementation:

- Convert regular mutexes to timed_mutex for timeout support
- Use condition_variable_any for compatibility with timed_mutex
- Fix thread synchronization with proper locking and error handling
- Add VkResultToString helper to replace missing ToString function
- Implement better error recovery with recreation attempt limits
- Add comprehensive logging for better troubleshooting

These changes make the asynchronous presentation feature more robust
and less prone to deadlocks, while keeping it disabled by default since
it may still cause instability in some games.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add CPU clock rate slider to settings</title>
<updated>2025-05-12T11:46:19+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-04-16T12:02:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=ea8bb22148a69ebe19b186073a06b21614913525'/>
<id>ea8bb22148a69ebe19b186073a06b21614913525</id>
<content type='text'>
Implement a slider in the CPU settings tab to adjust the BASE_CLOCK_RATE
up to 1,785 MHz (Switch's official maximum clock rate). Default remains
at 1,020 MHz.

This change:
- Adds UI slider and spinbox to configure_cpu.ui with range 500-1785 MHz
- Makes BASE_CLOCK_RATE dynamic by reading from settings
- Modifies WallClock to handle dynamic clock rate changes
- Updates APM controller to properly set the clock rate
- Changes clock rate settings category from Core to CPU

The user can now easily adjust the CPU clock rate to improve performance
or manage thermals and power consumption.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement a slider in the CPU settings tab to adjust the BASE_CLOCK_RATE
up to 1,785 MHz (Switch's official maximum clock rate). Default remains
at 1,020 MHz.

This change:
- Adds UI slider and spinbox to configure_cpu.ui with range 500-1785 MHz
- Makes BASE_CLOCK_RATE dynamic by reading from settings
- Modifies WallClock to handle dynamic clock rate changes
- Updates APM controller to properly set the clock rate
- Changes clock rate settings category from Core to CPU

The user can now easily adjust the CPU clock rate to improve performance
or manage thermals and power consumption.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add option to respect present interval 0 as unlocked FPS</title>
<updated>2025-05-12T11:46:19+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-04-16T09:28:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=6a845fd03bdfcf3435f7da840e6af1be6b74fee3'/>
<id>6a845fd03bdfcf3435f7da840e6af1be6b74fee3</id>
<content type='text'>
When enabled, this feature allows games using present interval 0 to run with
truly unlocked FPS, matching actual hardware behavior more accurately.

Previously, Citron would cap present interval 0 at 120FPS to conserve battery,
but this prevented proper functionality of dynamic framerate mods like UltraCam
by MaxLastBreath (https://www.nxoptimizer.com/).

The setting is disabled by default to maintain the current behavior for most users.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When enabled, this feature allows games using present interval 0 to run with
truly unlocked FPS, matching actual hardware behavior more accurately.

Previously, Citron would cap present interval 0 at 120FPS to conserve battery,
but this prevented proper functionality of dynamic framerate mods like UltraCam
by MaxLastBreath (https://www.nxoptimizer.com/).

The setting is disabled by default to maintain the current behavior for most users.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>impl(Multiplayer): Switched API To Enable Multiplayer</title>
<updated>2025-05-11T11:17:03+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-01-02T06:40:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=b0d4e76b0a38eb048b731d354355fc32dacd6892'/>
<id>b0d4e76b0a38eb048b731d354355fc32dacd6892</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add 12gb DRAM option (#90)</title>
<updated>2024-12-20T15:24:58+00:00</updated>
<author>
<name>Zuckerwatte1</name>
<email>zuckerwatte1@noreply.localhost</email>
</author>
<published>2024-12-15T15:14:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=30cf1e08c56f2b7794716edf63c7bd8b327000a4'/>
<id>30cf1e08c56f2b7794716edf63c7bd8b327000a4</id>
<content type='text'>
This adds the option to allow the emulator to use 12gb of RAM for something like really big texture packs.

Co-authored-by: smiRaphi &lt;neogt404@gmail.com&gt;
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/90
Co-authored-by: Zuckerwatte1 &lt;zuckerwatte1@noreply.localhost&gt;
Co-committed-by: Zuckerwatte1 &lt;zuckerwatte1@noreply.localhost&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds the option to allow the emulator to use 12gb of RAM for something like really big texture packs.

Co-authored-by: smiRaphi &lt;neogt404@gmail.com&gt;
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/90
Co-authored-by: Zuckerwatte1 &lt;zuckerwatte1@noreply.localhost&gt;
Co-committed-by: Zuckerwatte1 &lt;zuckerwatte1@noreply.localhost&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add option to only optimize SPIRV during load (#13)</title>
<updated>2024-12-20T15:24:58+00:00</updated>
<author>
<name>echosys</name>
<email>echosys@noreply.localhost</email>
</author>
<published>2024-07-19T19:14:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=08439ae74e5e18b770414f0451bc0b1c88480206'/>
<id>08439ae74e5e18b770414f0451bc0b1c88480206</id>
<content type='text'>
Adds a new option "On Load" to the "Optimize SPIRV output" option that turns on optimizations during the loading of the shader cache from disk, but turns it off after that.
The previous checkbox states have been named "Never" for unchecked and "Always" for checked.

The idea is that once the shader cache has most of the shaders in a game cached they can be optimized during initial game startup (where a performance hit matters less) and the few shaders that get compiled during runtime are not optimized to reduce performance hits.

Most of the commit is adding the setting to the Android app, the main logic is in the `gl_shader_cache.cpp` and `vk_pipeline_cache.cpp` files.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/13
Co-authored-by: echosys &lt;echosys@noreply.localhost&gt;
Co-committed-by: echosys &lt;echosys@noreply.localhost&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a new option "On Load" to the "Optimize SPIRV output" option that turns on optimizations during the loading of the shader cache from disk, but turns it off after that.
The previous checkbox states have been named "Never" for unchecked and "Always" for checked.

The idea is that once the shader cache has most of the shaders in a game cached they can be optimized during initial game startup (where a performance hit matters less) and the few shaders that get compiled during runtime are not optimized to reduce performance hits.

Most of the commit is adding the setting to the Android app, the main logic is in the `gl_shader_cache.cpp` and `vk_pipeline_cache.cpp` files.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/13
Co-authored-by: echosys &lt;echosys@noreply.localhost&gt;
Co-committed-by: echosys &lt;echosys@noreply.localhost&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Added option to synchronize core tick speed to max speed percentage</title>
<updated>2024-12-20T15:24:57+00:00</updated>
<author>
<name>spectranator</name>
<email>spectranator@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion</email>
</author>
<published>2024-04-27T12:57:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=f89d3ca9eddbe05114631e903ab42f2cdfee50ea'/>
<id>f89d3ca9eddbe05114631e903ab42f2cdfee50ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Optionally optimize generated SPIRV with spirv-opt (#10)</title>
<updated>2024-12-20T15:24:57+00:00</updated>
<author>
<name>darktux</name>
<email>darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion</email>
</author>
<published>2024-04-10T22:04:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=8028770d4e0d3b0256cda59d64c1e579daf120c6'/>
<id>8028770d4e0d3b0256cda59d64c1e579daf120c6</id>
<content type='text'>
Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/darktux/torzu/pulls/10
Co-authored-by: darktux &lt;darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion&gt;
Co-committed-by: darktux &lt;darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/darktux/torzu/pulls/10
Co-authored-by: darktux &lt;darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion&gt;
Co-committed-by: darktux &lt;darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed telemetry and anonymized SCM (git) strings</title>
<updated>2024-12-20T15:24:57+00:00</updated>
<author>
<name>darktux</name>
<email>darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion</email>
</author>
<published>2024-04-04T23:58:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=8b6b7ab6479f716410d11e353d381205402c0736'/>
<id>8b6b7ab6479f716410d11e353d381205402c0736</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add option to log synchronously, add tooltip to log filter.</title>
<updated>2024-12-20T15:24:57+00:00</updated>
<author>
<name>Kelebek1</name>
<email>eeeedddccc@hotmail.co.uk</email>
</author>
<published>2024-03-25T18:16:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=ccf5644c17231df48120449516b47437b0f33940'/>
<id>ccf5644c17231df48120449516b47437b0f33940</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
