<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp, 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-11-01T16:29:29+00:00</updated>
<entry>
<title>shader_recompiler: translate Switch 2 task and mesh programs</title>
<updated>2026-11-01T16:29:29+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-30T09:02:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=310dd596d0f6d48de3517cfb1bdc90a366817405'/>
<id>urn:sha1:310dd596d0f6d48de3517cfb1bdc90a366817405</id>
<content type='text'>
Mario Kart World draws some of its geometry with NVN task and mesh programs
(the task program culls and writes the mesh workgroup count and a payload
to its stage buffer; each mesh workgroup reads it back and writes vertices
and primitives). Add Task and Mesh stages and translate them for
VK_EXT_mesh_shader:

- the ISBE pseudo instruction from the lowering becomes reads and writes
  of an emulated stage buffer: the task's output region is the task
  payload, the mesh output regions live in workgroup memory
- every EXIT of these stages jumps to one final return, so all
  invocations reach the epilogue: a barrier, then OpEmitMeshTasksEXT, or
  OpSetMeshOutputsEXT and a copy of the 32-element vertex and primitive
  groups (lines named by the mesh header's and the pass-through geometry
  header's output maps) to arrayed and per-primitive outputs
- Sirit lacks the two mesh instructions: they are emitted as OpStore
  markers and replaced after assembly
- fragment inputs a mesh program writes per primitive get PerPrimitiveEXT

The captured task and mesh programs of the title translate to SPIR-V that
spirv-val accepts.
</content>
</entry>
<entry>
<title>[vulkan] Fixed dual-source blending to correctly map shader outputs. (#3637)</title>
<updated>2026-03-03T00:54:57+00:00</updated>
<author>
<name>tarako</name>
<email>r76036296@gmail.com</email>
</author>
<published>2026-03-03T00:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=d720a7b4b4e3c2bc4f7e2c1b16e282ec91766aa8'/>
<id>urn:sha1:d720a7b4b4e3c2bc4f7e2c1b16e282ec91766aa8</id>
<content type='text'>
Fixes Skyward Sword HD eye gitch and a related MoltenVK crash due to the incorrect output mapping. Verified working on mac and android.

The test in vk_pipeline_cache.cpp is a bit ugly, but it didn't seem worth it to go lambda/macro just to make it look cleaner. Could change if necessary.

Co-authored-by: tarako &lt;none@none.com&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3637
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-authored-by: tarako &lt;r76036296@gmail.com&gt;
Co-committed-by: tarako &lt;r76036296@gmail.com&gt;
</content>
</entry>
<entry>
<title>proper placement of clip distance init</title>
<updated>2025-04-24T15:00:28+00:00</updated>
<author>
<name>swurl</name>
<email>swurl@swurl.xyz</email>
</author>
<published>2025-04-21T19:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=918d6d3514076e90ca6676e6512216098b67e660'/>
<id>urn:sha1:918d6d3514076e90ca6676e6512216098b67e660</id>
<content type='text'>
Signed-off-by: swurl &lt;swurl@swurl.xyz&gt;
</content>
</entry>
<entry>
<title>shader compiler: Ensure all clip distances are initialized when used</title>
<updated>2025-04-21T17:34:24+00:00</updated>
<author>
<name>JPikachu</name>
<email>jpikachu.eden@gmail.com</email>
</author>
<published>2025-04-21T02:04:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=fc1a3b63101f0b88b8cb0536e68942e1ae0fd6f5'/>
<id>urn:sha1:fc1a3b63101f0b88b8cb0536e68942e1ae0fd6f5</id>
<content type='text'>
Thank you to Ryujinx (riperiperi specifically) for the pointer towards clip distances
Huge thanks to crueter for finding where the code works and Camille for giving pointers along the way.
</content>
</entry>
<entry>
<title>shader_recompiler: throw on missing geometry streams in geometry shaders</title>
<updated>2024-02-19T05:34:00+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-02-19T05:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=749f0564aea988899a55783fa1644cf8362d840d'/>
<id>urn:sha1:749f0564aea988899a55783fa1644cf8362d840d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Vulkan: Add support for VK_EXT_depth_clip_control.</title>
<updated>2022-12-14T02:39:18+00:00</updated>
<author>
<name>FernandoS27</name>
<email>fsahmkow27@gmail.com</email>
</author>
<published>2021-11-25T10:42:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=11f29ec173d66c08399d92554007597e9d763fb7'/>
<id>urn:sha1:11f29ec173d66c08399d92554007597e9d763fb7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>general: Convert source file copyright comments over to SPDX</title>
<updated>2022-04-23T09:55:32+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-04-23T08:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=2b87305d319f0bd04da36fb96314934f37b12637'/>
<id>urn:sha1:2b87305d319f0bd04da36fb96314934f37b12637</id>
<content type='text'>
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
</content>
</entry>
<entry>
<title>emit_spirv: Reduce emit_spirv.h include overhead</title>
<updated>2021-12-05T23:11:19+00:00</updated>
<author>
<name>ameerj</name>
<email>52414509+ameerj@users.noreply.github.com</email>
</author>
<published>2021-12-05T22:24:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=3f06a447fb940290b5f18c7c8c5a524c88f49277'/>
<id>urn:sha1:3f06a447fb940290b5f18c7c8c5a524c88f49277</id>
<content type='text'>
emit_spirv.h is included in video_core, which was propagating further includes that video_core did not depend on.
</content>
</entry>
<entry>
<title>shader: Add logging</title>
<updated>2021-07-23T01:51:35+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2021-06-14T05:27:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=f40daa777e2215472786594fda1ba114d9f81bbb'/>
<id>urn:sha1:f40daa777e2215472786594fda1ba114d9f81bbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>shader: Split profile and runtime information in separate structs</title>
<updated>2021-07-23T01:51:33+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2021-05-21T05:12:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=9452fe2dc6aa94c8037788d82202efb7d4ac1497'/>
<id>urn:sha1:9452fe2dc6aa94c8037788d82202efb7d4ac1497</id>
<content type='text'>
</content>
</entry>
</feed>
