<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/video_core/renderer_vulkan/vk_swapchain.h, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2026-10-30T00:49:48+00:00</updated>
<entry>
<title>vulkan: never flush the scheduler from the async present thread</title>
<updated>2026-10-30T00:49:48+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-29T15:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=00c059cd39f4fd9d1244345d6727a171acec4f86'/>
<id>urn:sha1:00c059cd39f4fd9d1244345d6727a171acec4f86</id>
<content type='text'>
Swapchain::AcquireNextImage waits for the main scheduler's tick of the
image's last use; when that tick was not submitted yet, Scheduler::Wait
flushed, recording into the current chunk on the present thread while
the GPU thread recorded into it too (corrupt command buffers, crashes
in vkCmdEndRenderPass and in CommandChunk::Record). With async
presentation the present thread now waits up to 20 ms for the
recording thread to submit the tick, and goes on without the wait
otherwise (the copy to the swapchain has its own fences).
</content>
</entry>
<entry>
<title>[vk] unify VkSurfaceKHR with Android and the rest of platforms; remove technically incorrect nullptr() ctor for handles (#2971)</title>
<updated>2026-03-05T06:32:18+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-03-05T06:32:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=9a07bd0570ceba262b4a918f4927e5674b6f7269'/>
<id>urn:sha1:9a07bd0570ceba262b4a918f4927e5674b6f7269</id>
<content type='text'>
Removes some odd #ifdef-ing that just can use a shrimple opaque type.

Also removes nullptr() ctor'ing for vulkan handles and such; it's not incorrect per se like how `void *p = 0;` isn't incorrect, just that, y'know, any static analyzer will go "woah". Also there isn't any guarantee that handles `sizeof(Handle) == sizeof(void*)` so may as well :)

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2971
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-committed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[refactor, vk] DynamicState, ExtendedDynamicState and VertexInputDynamicState (#3074)</title>
<updated>2026-01-07T05:49:32+00:00</updated>
<author>
<name>CamilleLaVey</name>
<email>camillelavey99@gmail.com</email>
</author>
<published>2026-01-07T05:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=5edcdea78fa60a8cf67c2b99cf2bc827865de906'/>
<id>urn:sha1:5edcdea78fa60a8cf67c2b99cf2bc827865de906</id>
<content type='text'>
This PR rewrites the DynamicState, ExtendedDynamicState and VertexInputDynamicState logic:

- Adds proper handling on how features should be loaded based on driver available features for ExtendedDynamicState/ VertexInputDynamicState.
- Fixes some old regressions with emulated formats for Android.
- Adds better formatting for tiling format features.
- Adds better formatting for format features.
- Adds NonWritable buffers handling for Spir-v.
- Updates Maintenance features calling.
- Adds new features: Multidraw, Robustness2, Image Robustness.
- Removes dead code/ duplicated on Vulkan device related to ExtendedDynamicState handling.
- Adjusts and conditions with better handling for some features callings: SwapchainMaintenance1, ConditionalRendering, ShaderExtencilExport, CustomBorderColor, TransformFeedback, VertexInputDynamicState.
- Removes some older feature ban logic.
- Adds hardware resolve path for MSAA Image Blits on Nvidia cards.
- Adds flat decorations for input interfaces on Spir-v.
- Reduces flushwork within drawcalls.
- Clamps render limits on out-of-area for rasterizer.

Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-authored-by: Caio Oliveira &lt;caiooliveirafarias0@gmail.com&gt;
Co-authored-by: DraVee &lt;dravee@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3074
Reviewed-by: DraVee &lt;dravee@eden-emu.dev&gt;
Reviewed-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
Co-authored-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-committed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
</content>
</entry>
<entry>
<title>fix a large variety of issues (#101)</title>
<updated>2025-05-11T23:58:25+00:00</updated>
<author>
<name>swurl</name>
<email>swurl@swurl.xyz</email>
</author>
<published>2025-05-11T23:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=7e943732bf025bb7ead5ee3e104b88c020f9f422'/>
<id>urn:sha1:7e943732bf025bb7ead5ee3e104b88c020f9f422</id>
<content type='text'>
- GLASM/SPIR-V mixup on Android
- potential greenscreen fix (thx suyu)
- save memory layout and add 10gb/12gb options
- potential samsung gaming hub fix
- fix layout of controller UI
- fix default settings to sensible defaults.
- note to TotK that you should increase memory layout
- Error checking for Windows linking
- fix an IDE error
- improved migration system w/threading and busy indicator
- disabled citron migration for now
- replaced some user-facing legacy strings with eden
- Added 10GB and 12GB DRAM layouts
- Fix Android black screen issues
- add discord link &amp; update FAQ/Quickstart
- update links in about page
- add back rich presence
- add Don't show again for desktop pre alpha banner
- add citron warning to android and polaris to desktop

Signed-off-by: swurl &lt;swurl@swurl.xyz&gt;
Co-authored-by: Pavel Barabanov &lt;pavelbarabanov94@gmail.com&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/101
Co-authored-by: swurl &lt;swurl@swurl.xyz&gt;
Co-committed-by: swurl &lt;swurl@swurl.xyz&gt;
</content>
</entry>
<entry>
<title>renderer_vulkan: Use raw surface handles and improve release logic (#75)</title>
<updated>2025-05-02T18:42:58+00:00</updated>
<author>
<name>Briar</name>
<email>205427297+icy-briar@users.noreply.github.com</email>
</author>
<published>2025-05-02T18:42:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=559eb0a488b651397802066878aebdbd65b42baf'/>
<id>urn:sha1:559eb0a488b651397802066878aebdbd65b42baf</id>
<content type='text'>
Should fix or at least lessen the crashes when leaving runtime emulation on both Android / PC
Also, may have improved the time required to leave the game

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/75
Co-authored-by: Briar &lt;205427297+icy-briar@users.noreply.github.com&gt;
Co-committed-by: Briar &lt;205427297+icy-briar@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>renderer_vulkan: do not recreate swapchain for srgb</title>
<updated>2023-12-03T21:43:54+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2023-12-03T19:02:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=8a97178a892366bd68b26fbfd9401d39e6769020'/>
<id>urn:sha1:8a97178a892366bd68b26fbfd9401d39e6769020</id>
<content type='text'>
</content>
</entry>
<entry>
<title>android: vulkan: Recreate surface after suspension &amp; adapt to async. presentation.</title>
<updated>2023-06-03T07:05:59+00:00</updated>
<author>
<name>bunnei</name>
<email>bunneidev@gmail.com</email>
</author>
<published>2023-05-04T04:54:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=2650faea9d076cd246bda0239f9c2bae76f96a4d'/>
<id>urn:sha1:2650faea9d076cd246bda0239f9c2bae76f96a4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vk_swapchain: Use certain modes for unlocked</title>
<updated>2023-05-03T01:52:43+00:00</updated>
<author>
<name>lat9nq</name>
<email>22451773+lat9nq@users.noreply.github.com</email>
</author>
<published>2023-05-02T00:31:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=cef9dca85fc601d3bbac00ff65a9c78894840cf5'/>
<id>urn:sha1:cef9dca85fc601d3bbac00ff65a9c78894840cf5</id>
<content type='text'>
Uses mailbox, then immediate for unlocked framerate depending on
support for either. Also adds support for FIFO_RELAXED.

This function now assumes vsync_mode was originially configured to a value
that the driver supports.

vk_swapchain: ChooseSwapPresentMode determines updates

Simplifies swapchain a bit and allows us to change the present mode
during guest runtime.

vk_swapchain: Fix MSVC error

vk_swapchain: Enforce available present modes

Some frontends don't check the value of vsync_mode before comitting it.
Just as well, since a driver update or misconfiguration could problems
in the swap chain.

vk_swapchain: Silence warnings

Silences GCC warnings implicit-fallthrough and shadow, which apparently
are not enabled on clang.
</content>
</entry>
<entry>
<title>renderer_vulkan: Async presentation</title>
<updated>2023-05-01T20:13:24+00:00</updated>
<author>
<name>GPUCode</name>
<email>geoster3d@gmail.com</email>
</author>
<published>2023-03-19T15:23:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=8eede48a398ee56f5601eebe7dc5c19221d13b8a'/>
<id>urn:sha1:8eede48a398ee56f5601eebe7dc5c19221d13b8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>video_core/vulkan: Explicity check swapchain size when deciding to recreate</title>
<updated>2022-12-13T18:23:35+00:00</updated>
<author>
<name>Alexander Orzechowski</name>
<email>alex@ozal.ski</email>
</author>
<published>2022-12-13T18:08:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ef5ccad7916f17214f062efbe0d2d2aeb38dd877'/>
<id>urn:sha1:ef5ccad7916f17214f062efbe0d2d2aeb38dd877</id>
<content type='text'>
Vulkan for whatever reason does not return VK_ERROR_OUT_OF_DATE_KHR when
the swapchain is the wrong size. Explicity make sure the size is indeed
up to date to workaround this.
</content>
</entry>
</feed>
