<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/video_core/host_shaders/astc_decoder.comp, 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-28T09:14:02+00:00</updated>
<entry>
<title>nx2: decode ASTC textures with the Switch 2 GOB layout</title>
<updated>2026-10-28T09:14:02+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-28T09:14:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=c556de5c9ac5385faff6da8dd1694a93a77c35e4'/>
<id>urn:sha1:c556de5c9ac5385faff6da8dd1694a93a77c35e4</id>
<content type='text'>
The GPU ASTC decoder unswizzles block-linear data itself and never applied
the native (Switch 2) GOB swizzle that the other unswizzle paths use, so
ASTC textures came out with 16-byte blocks swapped wherever the image
varies. Title 4's UI is ASTC (10x5, 4x4, 8x8): portraits, buttons and the
squid cursor had hatched edges and clean interiors. Pass the native tiling
flag to the decoder and swap offset bits 5 and 6 as
block_linear_unswizzle_2d.comp does.
</content>
</entry>
<entry>
<title>[vulkan] Re-adjusting ASTC resolve (#4250)</title>
<updated>2026-08-05T07:24:35+00:00</updated>
<author>
<name>CamilleLaVey</name>
<email>camillelavey99@gmail.com</email>
</author>
<published>2026-08-05T07:24:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=5e1d5e82dcc98627c769b7ca32384ded16bc5e1d'/>
<id>urn:sha1:5e1d5e82dcc98627c769b7ca32384ded16bc5e1d</id>
<content type='text'>
This is an adjustment made due to problems caused by my ASTC changes some pr's earlier; added sanity to decoded blocks, removes the inconditional storage view for ASTC formats (verified against MaxwellToVk logic), added support to VK_EXT_astc_decode_mode which will ensure a better way to resolve RGFA16/RGFA32 on tilers, simplified ASTC HDR decoding into LDR valid formats.

This fixes some issues with SteamDeck, Fire Emblem: Engage washed colors and other problems related to ASTC.

_Special Thanks_

1.- Meowly The Smol (@Gidoly)
2.- @simply0001 for the actual idea on the redundant storage views on the transcoded ASTC path.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4250
</content>
</entry>
<entry>
<title>[video_core] Implementation on ASTC HDR formats + Vulkan fixes (#4190)</title>
<updated>2026-07-09T03:29:50+00:00</updated>
<author>
<name>CamilleLaVey</name>
<email>camillelavey99@gmail.com</email>
</author>
<published>2026-07-09T03:29:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=3a6ac6e418f0bfce4371e743750cdfe6fff22d2f'/>
<id>urn:sha1:3a6ac6e418f0bfce4371e743750cdfe6fff22d2f</id>
<content type='text'>
Based on the register of the ASTC implementation from Ameerj (yuzu), currently our conversion from ASTC on Desktop tends to duplicates the unpacking of ASTC converted textures, leading to bad performance; since there are some graphical effects that actually access on the band of 32bits (RGAF32) than the common 16bits (RGAF16) from our ASTC path decoding method, which commonly uses ARGB8 (degradation -&gt; LDR) transformation to reduce the memory cost per conversion; meanwhile it could actually provide initially better performance; the engine tended to get stalled when this writted stage effect got skipped; mostly because CPU tends to look for an unimplemented texture/ format query (from which doesn't exist on our MaxwellToVK); unlike what's commonly believed HDR was a format to write enviroment effects even before their appearance on video output (since Switch doesn't have HDR, only SDR on certain engines).

The test result on this PR showed games like Astral Chain and other heavy reliant on ASTC decoding improved their performance and stability by around 15%; meanwhile could it be tied to a hardware gain, it's clearly a gain for direct access on what's required on most games. This PR also contains few Vulkan bug fix I encountered along this implementation.

Special Thanks:

-&gt; Mr. Smoly Gidolard (@gidoly)

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4190
</content>
</entry>
<entry>
<title>[video_core] Implement GPU-accelerated texture unswizzling and optimize sparse texture handling (#3246)</title>
<updated>2026-01-13T18:18:08+00:00</updated>
<author>
<name>Forrest Keller</name>
<email>forrestmarkx@outlook.com</email>
</author>
<published>2026-01-13T18:18:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ecd01e13fd13b39bff0f2c7c7bc2387c3a2157f4'/>
<id>urn:sha1:ecd01e13fd13b39bff0f2c7c7bc2387c3a2157f4</id>
<content type='text'>
- [Added] a new compute shader to handle block-linear unswizzling on the GPU, reducing CPU overhead during texture uploads
- [Implemented] BlockLinearUnswizzle3DPass to take advantage of the new compute shader, unimplemented for OpenGL
- [Implemented] texture streaming and queue system for large sparse textures to prevent hitches
- [Implemented] aggressive garbage collection system to eject large sparse textures to save on memory (Unused)
- [Added] user settings to adjust the streaming unswizzle system for low-end machines
- [Improved] slightly the ASTC GPU decoding system

Co-authored-by: Caio Oliveira &lt;caiooliveirafarias0@gmail.com&gt;
Co-authored-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-authored-by: DraVee &lt;dravee@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3246
Reviewed-by: Maufeat &lt;sahyno1996@gmail.com&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: DraVee &lt;dravee@eden-emu.dev&gt;
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-authored-by: Forrest Keller &lt;forrestmarkx@outlook.com&gt;
Co-committed-by: Forrest Keller &lt;forrestmarkx@outlook.com&gt;
</content>
</entry>
<entry>
<title>Fix typos in video_core</title>
<updated>2024-01-07T22:44:55+00:00</updated>
<author>
<name>Viktor Szépe</name>
<email>viktor@szepe.net</email>
</author>
<published>2024-01-07T22:44:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=e895ebb546ee2dd4b32484e5382bb54d33f6b024'/>
<id>urn:sha1:e895ebb546ee2dd4b32484e5382bb54d33f6b024</id>
<content type='text'>
</content>
</entry>
<entry>
<title>flatten color_values</title>
<updated>2023-08-09T22:45:52+00:00</updated>
<author>
<name>Ameer J</name>
<email>52414509+ameerj@users.noreply.github.com</email>
</author>
<published>2023-08-09T22:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=4c1cf94f3a04c3b830dfae39e9b6c4037b8dcde8'/>
<id>urn:sha1:4c1cf94f3a04c3b830dfae39e9b6c4037b8dcde8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>flatten encoding_values</title>
<updated>2023-08-09T22:38:37+00:00</updated>
<author>
<name>Ameer J</name>
<email>52414509+ameerj@users.noreply.github.com</email>
</author>
<published>2023-08-09T22:38:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=18328533d03474bd1c571fc571530b7b93ee0454'/>
<id>urn:sha1:18328533d03474bd1c571fc571530b7b93ee0454</id>
<content type='text'>
</content>
</entry>
<entry>
<title>flatten result vector</title>
<updated>2023-08-09T22:34:57+00:00</updated>
<author>
<name>Ameer J</name>
<email>52414509+ameerj@users.noreply.github.com</email>
</author>
<published>2023-08-09T22:34:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=6077bac118a6797b038c3e58966fb1f1f5f839ca'/>
<id>urn:sha1:6077bac118a6797b038c3e58966fb1f1f5f839ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>GetUnquantizedWeightVector</title>
<updated>2023-08-09T21:45:39+00:00</updated>
<author>
<name>Ameer J</name>
<email>52414509+ameerj@users.noreply.github.com</email>
</author>
<published>2023-08-09T21:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=433d7cbd522e7407ea5640ca90e6f89e890a37fa'/>
<id>urn:sha1:433d7cbd522e7407ea5640ca90e6f89e890a37fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Compute Replicate</title>
<updated>2023-08-06T18:54:58+00:00</updated>
<author>
<name>Ameer J</name>
<email>52414509+ameerj@users.noreply.github.com</email>
</author>
<published>2023-08-06T17:32:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=3f114d8e5e943f6576b327bcf9e42ebc5e2ffe9a'/>
<id>urn:sha1:3f114d8e5e943f6576b327bcf9e42ebc5e2ffe9a</id>
<content type='text'>
</content>
</entry>
</feed>
