<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/video_core/engines/draw_manager.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-02T22:36:01+00:00</updated>
<entry>
<title>Merge pull request #334 from snowstormxd/codex/upstream-mkw-test</title>
<updated>2026-11-02T22:36:01+00:00</updated>
<author>
<name>Jonas</name>
<email>104419015+jojo-chaechae@users.noreply.github.com</email>
</author>
<published>2026-11-02T22:36:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=8362c44ff835d7be73d2adad9ce3e2d4467a6aeb'/>
<id>urn:sha1:8362c44ff835d7be73d2adad9ce3e2d4467a6aeb</id>
<content type='text'>
MKW performance improvements</content>
</entry>
<entry>
<title>video_core: continue a split instance loop at its own instance index</title>
<updated>2026-11-02T19:53:47+00:00</updated>
<author>
<name>Sssnowyyy</name>
<email>78863999+Sssnowyyy@users.noreply.github.com</email>
</author>
<published>2026-11-02T16:41:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=427b9abfdc4898f1aeef978ee6edbdeb336db280'/>
<id>urn:sha1:427b9abfdc4898f1aeef978ee6edbdeb336db280</id>
<content type='text'>
Writing any register outside the instance loop's own methods now draws the
waiting instances first, so the batch sees the base instance it was begun
with. When a title writes another register in the middle of a loop, such
as a per-instance constant buffer, the loop is drawn in several batches,
and each later batch started again at global_base_instance_index with one
extra instance, so it used the instance IDs of the first records.

Count the instances already drawn for the current loop and start the next
batch after them, without the extra first-instance draw. A loop that is
not split is drawn exactly as before.

Follow-up to 2ad0830d2f and eb99da6072.

Assisted-by: Claude Sonnet 5.5 (implementation and commit message)
</content>
</entry>
<entry>
<title>vulkan: submit native work sooner and use the active draw count</title>
<updated>2026-11-02T19:07:53+00:00</updated>
<author>
<name>snowstormxd</name>
<email>214507868+snowstormxd@users.noreply.github.com</email>
</author>
<published>2026-11-02T19:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=226162edf525f13bb0c1fa5c4788e510c474989d'/>
<id>urn:sha1:226162edf525f13bb0c1fa5c4788e510c474989d</id>
<content type='text'>
Adapted from sylvieistaken/selevet-eglantine performance builds, including 8b076b167ffc5ca1ba8ffedcd00e255accbe018c and d8c95fef. Preserve upstream command-list coherency and submission ordering.

Assisted by Codex.
</content>
</entry>
<entry>
<title>video_core: draw deferred instances before the state after their loop</title>
<updated>2026-10-30T19:39:20+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-30T18:58:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=2ad0830d2f044bc536155ae666f4477ba6d1f65f'/>
<id>urn:sha1:2ad0830d2f044bc536155ae666f4477ba6d1f65f</id>
<content type='text'>
A draw of N instances arrives as Begin(First)/End and N-1 Begin(Subsequent)/
End pairs. The draw manager draws the first at once and the rest together at
DrawDeferred, which ran at the next Begin(First) or when the macro returned.
NVN's draw macros reset the base instance register and its copy in
c[0][0x644] right after the loop, before returning, so the deferred instances
were drawn with base instance 0 and read the first records of the instance
buffer instead of their own.

In Mario Kart World every tree mesh is drawn this way, from one shared
instance buffer: each mesh got other meshes' transforms, which showed as
low-detail, inflated or scattered trees.

Any write other than the loop's own methods (draw begin/end, vertex and
index counts, inline indices) now draws the waiting instances first.
</content>
</entry>
<entry>
<title>Revert "Import experimental NS2 support and accumulated GPU fixes"</title>
<updated>2026-10-29T07:39:29+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-29T07:39:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ea6c1193fbfa95e586bb6d129dc684163a12cb3e'/>
<id>urn:sha1:ea6c1193fbfa95e586bb6d129dc684163a12cb3e</id>
<content type='text'>
This reverts commit 535b676970. The Switch 2 support comes from the nx2
work instead, merged next.
</content>
</entry>
<entry>
<title>Import experimental NS2 support and accumulated GPU fixes</title>
<updated>2026-10-29T01:21:11+00:00</updated>
<author>
<name>yumekiru</name>
<email>338525349+yumekiru@users.noreply.github.com</email>
</author>
<published>2026-10-29T01:21:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=535b6769709eb22333af26269f1b16f37adce4db'/>
<id>urn:sha1:535b6769709eb22333af26269f1b16f37adce4db</id>
<content type='text'>
Bring the NS2 patch and local follow-up fixes onto Eglantine master.
Includes native graphics services, instruction translation, syncpoint
cancellation acknowledgement, texture handling and diagnostics.

Experimental checkpoint; not ready to merge. The original Eden build
passed, but this rebased branch has not been built or tested.

Assisted-by: OpenAI Codex (implementation, debugging, tests and PR preparation)
</content>
</entry>
<entry>
<title>[maxwell_3d] append inline index draw streams in bulk (#4083)</title>
<updated>2026-06-27T00:52:59+00:00</updated>
<author>
<name>simply0001</name>
<email>nicolas.tobago@icloud.com</email>
</author>
<published>2026-06-27T00:52:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=0d6a2158f058b384efcdb438908cc8cdd0ed6676'/>
<id>urn:sha1:0d6a2158f058b384efcdb438908cc8cdd0ed6676</id>
<content type='text'>
Inline index draws arrive as a batch but were processed one word at a time, so each index ran through the full per-method path and got appended a byte at a time.
Handle the whole batch in one pass instead, updating state once and appending all the indices together. Replay shadow control still goes word by word since it has to reload each one.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4083
Reviewed-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[video_core/engines/maxwell3d] memory inline DrawState to reduce indirection on hot paths (#3758)</title>
<updated>2026-04-28T15:44:51+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-04-28T15:44:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=77decca678b99b388ddbde3517cb9bd5f065cb80'/>
<id>urn:sha1:77decca678b99b388ddbde3517cb9bd5f065cb80</id>
<content type='text'>
usual indirection removal
helps very slightly to codegen

the idea is basically to reduce the amount of pointer deference overall in the code, and use idiomatic std::variant&lt;&gt;-isms to not rely on vtables/unique_ptr overhead
this should allow the compiler to emit better code
of course it's a tiny optimisation and only CPU side, but allows us to reduce indirection which is almost always a good thing

"but youre passing more parameters to the function!!!" its literally memoized into a register my friend

Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3758
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>vk_rasterizer: flip scissor y on lower left origin mode (#13122)</title>
<updated>2024-02-27T14:40:33+00:00</updated>
<author>
<name>liamwhite</name>
<email>liamwhite@users.noreply.github.com</email>
</author>
<published>2024-02-27T14:40:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=a918ce6fe9efd8f12e71b7112c288d521acb0906'/>
<id>urn:sha1:a918ce6fe9efd8f12e71b7112c288d521acb0906</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement vertex array first and subsequent draws</title>
<updated>2023-10-14T11:09:35+00:00</updated>
<author>
<name>Kelebek1</name>
<email>eeeedddccc@hotmail.co.uk</email>
</author>
<published>2023-10-13T19:45:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=d7ba2c70644dee6a8c5e52fd6e49c1653e80943b'/>
<id>urn:sha1:d7ba2c70644dee6a8c5e52fd6e49c1653e80943b</id>
<content type='text'>
</content>
</entry>
</feed>
