<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/video_core/vulkan_common, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>vulkan: Improve memory allocation robustness</title>
<updated>2025-05-12T11:46:19+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.orgq</email>
</author>
<published>2025-02-22T09:08:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=a32de97c9166b65225a21ee547a0c51399398860'/>
<id>a32de97c9166b65225a21ee547a0c51399398860</id>
<content type='text'>
Enhances the Vulkan memory allocator with better OOM handling and memory
alignment:

* Add memory recovery by cleaning up empty allocations before failing
* Implement proper fallback to non-device-local memory
* Simplify memory alignment handling for different vendors
* Add better error logging for allocation failures
* Add IsEmpty() helper to track unused allocations
* Fix alignment requirements for Adreno (4KB) vs other vendors

These changes improve the robustness of memory allocation, particularly
in low-memory situations, and streamline vendor-specific alignment
requirements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enhances the Vulkan memory allocator with better OOM handling and memory
alignment:

* Add memory recovery by cleaning up empty allocations before failing
* Implement proper fallback to non-device-local memory
* Simplify memory alignment handling for different vendors
* Add better error logging for allocation failures
* Add IsEmpty() helper to track unused allocations
* Fix alignment requirements for Adreno (4KB) vs other vendors

These changes improve the robustness of memory allocation, particularly
in low-memory situations, and streamline vendor-specific alignment
requirements.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: upgrade fmt and SDL2</title>
<updated>2025-05-12T11:45:15+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.orgq</email>
</author>
<published>2025-02-16T03:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=fbe41afca4862ce7bece2ffd71473d3a6c6944a8'/>
<id>fbe41afca4862ce7bece2ffd71473d3a6c6944a8</id>
<content type='text'>
Update fmt library to version 11.0.2 and make necessary adjustments:
- Replace fmt/format.h includes with fmt/ranges.h
- Add const qualifiers to formatter::format functions
- Update CMake to require fmt version 11

Additional dependency updates:
- Update SDL2 bundled version from 2.28.2 to 2.32.0
- Update catch2 to version 3.7.1
- Update vcpkg baseline to ca846b21276c9a3171074ac8d2b4f6516894a7d0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update fmt library to version 11.0.2 and make necessary adjustments:
- Replace fmt/format.h includes with fmt/ranges.h
- Add const qualifiers to formatter::format functions
- Update CMake to require fmt version 11

Additional dependency updates:
- Update SDL2 bundled version from 2.28.2 to 2.32.0
- Update catch2 to version 3.7.1
- Update vcpkg baseline to ca846b21276c9a3171074ac8d2b4f6516894a7d0
</pre>
</div>
</content>
</entry>
<entry>
<title>vulkan: Add Samsung driver workarounds</title>
<updated>2025-05-11T13:54:45+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-02-04T06:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=40aef8bbc8659b71d39c225f0c0b3d50e0a2d497'/>
<id>40aef8bbc8659b71d39c225f0c0b3d50e0a2d497</id>
<content type='text'>
Add workarounds for Samsung Xclipse GPUs:

- Disable extendedDynamicState3ColorBlendEquation as it is broken in Samsung
  drivers, similar to AMD drivers
- Add Samsung's proprietary driver to the validated driver list for clock
  boosting
- Fix log message to indicate both AMD and Samsung drivers have broken
  color blend equation support

Remove stray logical OR operator from validated_driver condition.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add workarounds for Samsung Xclipse GPUs:

- Disable extendedDynamicState3ColorBlendEquation as it is broken in Samsung
  drivers, similar to AMD drivers
- Add Samsung's proprietary driver to the validated driver list for clock
  boosting
- Fix log message to indicate both AMD and Samsung drivers have broken
  color blend equation support

Remove stray logical OR operator from validated_driver condition.
</pre>
</div>
</content>
</entry>
<entry>
<title>vulkan: Add 4KB memory alignment for AMD and Qualcomm drivers</title>
<updated>2025-05-11T13:54:45+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-02-02T02:07:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=fdeaf764fe20725dfc8df86dbb813a544f5c84ce'/>
<id>fdeaf764fe20725dfc8df86dbb813a544f5c84ce</id>
<content type='text'>
Adds special handling for memory allocation size on AMD and Qualcomm (Adreno)
drivers by aligning allocations to 4KB boundaries. This fixes potential memory
allocation issues on these drivers where unaligned allocations may fail or
cause undefined behavior.

Affected drivers:
- AMD Proprietary (AMDVLK)
- AMD Open Source (RADV)
- Qualcomm Proprietary (Adreno)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds special handling for memory allocation size on AMD and Qualcomm (Adreno)
drivers by aligning allocations to 4KB boundaries. This fixes potential memory
allocation issues on these drivers where unaligned allocations may fail or
cause undefined behavior.

Affected drivers:
- AMD Proprietary (AMDVLK)
- AMD Open Source (RADV)
- Qualcomm Proprietary (Adreno)
</pre>
</div>
</content>
</entry>
<entry>
<title>vulkan: Relax VRAM allocation limits for better stability</title>
<updated>2025-05-11T13:29:04+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-01-27T05:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=f50aa799dfe956b0a041a74db89a764454980ed2'/>
<id>f50aa799dfe956b0a041a74db89a764454980ed2</id>
<content type='text'>
Adjusts VRAM allocation strategy to be more conservative while maintaining
performance:

- Increases reserve memory from 1/8th to 1/4th (max 2GB) for discrete GPUs
- Increases base memory limit from 6GB to 8GB
- Doubles resolution scaling memory from 1GB to 2GB per scale factor
- Reduces system memory reservation from 8GB to 4GB for integrated GPUs
- Increases maximum memory limit from 4GB to 6GB for integrated GPUs

These changes help prevent memory leaks while still providing adequate
VRAM for optimal performance.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adjusts VRAM allocation strategy to be more conservative while maintaining
performance:

- Increases reserve memory from 1/8th to 1/4th (max 2GB) for discrete GPUs
- Increases base memory limit from 6GB to 8GB
- Doubles resolution scaling memory from 1GB to 2GB per scale factor
- Reduces system memory reservation from 8GB to 4GB for integrated GPUs
- Increases maximum memory limit from 4GB to 6GB for integrated GPUs

These changes help prevent memory leaks while still providing adequate
VRAM for optimal performance.
</pre>
</div>
</content>
</entry>
<entry>
<title>Vulkan validation error fix.</title>
<updated>2024-12-20T15:24:57+00:00</updated>
<author>
<name>Lucas Clemente Vella</name>
<email>lvella@gmail.com</email>
</author>
<published>2024-03-23T23:46:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=bf4c8952b01bd38ea3d6a390d14b2b89a17e91bd'/>
<id>bf4c8952b01bd38ea3d6a390d14b2b89a17e91bd</id>
<content type='text'>
Different image usage flags between image creation and image view
creation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Different image usage flags between image creation and image view
creation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Radeon gpu profiler detection support</title>
<updated>2024-12-20T15:24:57+00:00</updated>
<author>
<name>Alessio</name>
<email>alessio1989@outlook.com</email>
</author>
<published>2024-03-18T23:23:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=805bcb19dc8795709c867f43cdfbe2da15f2bdf3'/>
<id>805bcb19dc8795709c867f43cdfbe2da15f2bdf3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Macos moltenvk headers</title>
<updated>2024-12-20T15:24:57+00:00</updated>
<author>
<name>Nick Majkic</name>
<email>8842171-majkic65@users.noreply.gitlab.com</email>
</author>
<published>2024-03-18T02:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=75b68c9170db0b8c5772d9139fa79e9f8a2cfd53'/>
<id>75b68c9170db0b8c5772d9139fa79e9f8a2cfd53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>renderer_vulkan: fallback to D32 for missing D24X8</title>
<updated>2024-12-20T15:24:47+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-02-27T02:09:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=1a75fa37d3558815e929a2003e8adc9219285d50'/>
<id>1a75fa37d3558815e929a2003e8adc9219285d50</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #13001 from liamwhite/scaled-availability</title>
<updated>2024-02-22T17:31:17+00:00</updated>
<author>
<name>Narr the Reg</name>
<email>juangerman-13@hotmail.com</email>
</author>
<published>2024-02-22T17:31:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=984396a21ae8e82378b41f61f4f6a9745cde250a'/>
<id>984396a21ae8e82378b41f61f4f6a9745cde250a</id>
<content type='text'>
vulkan_device: don't use fixed cap for memory limits</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vulkan_device: don't use fixed cap for memory limits</pre>
</div>
</content>
</entry>
</feed>
