<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core, branch 2512</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Merge pull request #14210 from cscd98/ulong-compile</title>
<updated>2025-12-19T17:01:33+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2025-12-19T17:01:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b758b390d4165e4145aa3700ea8b726c992248a7'/>
<id>b758b390d4165e4145aa3700ea8b726c992248a7</id>
<content type='text'>
MainWindow: Fix sscanf type/width specifiers for DWORD</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MainWindow: Fix sscanf type/width specifiers for DWORD</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #14202 from jordan-woyak/sdl-gcadapter-hint</title>
<updated>2025-12-17T10:18:37+00:00</updated>
<author>
<name>JMC47</name>
<email>JMC4789@gmail.com</email>
</author>
<published>2025-12-17T10:18:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e60f39c3236c18d3f4f1f4febd08f4d2b103812c'/>
<id>e60f39c3236c18d3f4f1f4febd08f4d2b103812c</id>
<content type='text'>
ControllerInterface: Turn off SDL's GameCube controller adapter handling when Dolphin is configured to use the adapter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ControllerInterface: Turn off SDL's GameCube controller adapter handling when Dolphin is configured to use the adapter.</pre>
</div>
</content>
</entry>
<entry>
<title>StringUtils: Drop TabsToSpaces</title>
<updated>2025-12-15T12:41:54+00:00</updated>
<author>
<name>Sintendo</name>
<email>3380580+Sintendo@users.noreply.github.com</email>
</author>
<published>2025-12-15T12:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=558cee8dcf8a9ef274f32221a66e59a0f74603ef'/>
<id>558cee8dcf8a9ef274f32221a66e59a0f74603ef</id>
<content type='text'>
This function is unused.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function is unused.
</pre>
</div>
</content>
</entry>
<entry>
<title>mingw: fix use of std::invocable with EnumerateRadios</title>
<updated>2025-12-12T09:33:10+00:00</updated>
<author>
<name>Craig Carnell</name>
<email>1188869+cscd98@users.noreply.github.com</email>
</author>
<published>2025-12-08T19:31:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=eded73fe8b1f78d513dbe2750731a81553ae8aa8'/>
<id>eded73fe8b1f78d513dbe2750731a81553ae8aa8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MainWindow: Fix sscanf type/width specifiers for DWORD</title>
<updated>2025-12-11T19:36:09+00:00</updated>
<author>
<name>Craig Carnell</name>
<email>1188869+cscd98@users.noreply.github.com</email>
</author>
<published>2025-12-09T21:16:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7e9f2912227d09985262be459e9eb36526eb3161'/>
<id>7e9f2912227d09985262be459e9eb36526eb3161</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ControllerInterface: Turn off SDL's GameCube controller adapter handling when Dolphin is configured to use the adapter.</title>
<updated>2025-12-09T22:51:41+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-12-09T02:58:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=21eb43c16ece558320a7d6284a6cc3e76de5a3bd'/>
<id>21eb43c16ece558320a7d6284a6cc3e76de5a3bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Jit64: Explicitly get imm for clobbered stores</title>
<updated>2025-12-08T22:19:10+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-12-07T14:52:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=fca27c375a530a8a589ff47c3408be8b411d0b8c'/>
<id>fca27c375a530a8a589ff47c3408be8b411d0b8c</id>
<content type='text'>
If we're on an x64 CPU that doesn't have the MOVBE extension, trying to
SwapAndStore a host register results in that register's value getting
clobbered with the swapped value. Jit64::stX and Jit64::stXx detect this
case, and if necessary, emit a MOV to a register that's fine to clobber.

This logic was broken by the merge of PR 12134. Jit64::stX and
Jit64::stXx were assuming that if RegCache::IsImm returns true for a
guest register, calling RegCache::Use or RegCache::BindOrImm for that
guest register would result in an immediate. However, PR 12134 made it
possible for a guest register to have both a host register and an
immediate in the register cache at the same time. When this happens,
RegCache::IsImm returns true, yet RegCache::Use and RegCache::BindForImm
return an RCOpArg whose Location returns a host register. (To make it
extra confusing, RCOpArg::IsImm calls RegCache::IsImm if the RCOpArg
came from RegCache, so RCOpArg::IsImm returns true!)

To fix this, in cases where Jit64::stX and Jit64::stXx explicitly need
an immediate to avoid having to emit an extra MOV, let's call
RegCache::Imm32 so that we're certain that we're getting an immediate.

This fixes an issue on older x64 CPUs that manifested as e.g. completely
broken graphics in Spyro: Enter the Dragonfly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we're on an x64 CPU that doesn't have the MOVBE extension, trying to
SwapAndStore a host register results in that register's value getting
clobbered with the swapped value. Jit64::stX and Jit64::stXx detect this
case, and if necessary, emit a MOV to a register that's fine to clobber.

This logic was broken by the merge of PR 12134. Jit64::stX and
Jit64::stXx were assuming that if RegCache::IsImm returns true for a
guest register, calling RegCache::Use or RegCache::BindOrImm for that
guest register would result in an immediate. However, PR 12134 made it
possible for a guest register to have both a host register and an
immediate in the register cache at the same time. When this happens,
RegCache::IsImm returns true, yet RegCache::Use and RegCache::BindForImm
return an RCOpArg whose Location returns a host register. (To make it
extra confusing, RCOpArg::IsImm calls RegCache::IsImm if the RCOpArg
came from RegCache, so RCOpArg::IsImm returns true!)

To fix this, in cases where Jit64::stX and Jit64::stXx explicitly need
an immediate to avoid having to emit an extra MOV, let's call
RegCache::Imm32 so that we're certain that we're getting an immediate.

This fixes an issue on older x64 CPUs that manifested as e.g. completely
broken graphics in Spyro: Enter the Dragonfly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #14178 from Dentomologist/jit64_avoid_passing_immediate_to_non_immediate_parameter</title>
<updated>2025-12-01T19:01:52+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-12-01T19:01:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=213dc1c9afb4979dab357327387ab49ce17f174a'/>
<id>213dc1c9afb4979dab357327387ab49ce17f174a</id>
<content type='text'>
Jit64: Avoid passing immediate to non-immediate parameter</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Jit64: Avoid passing immediate to non-immediate parameter</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #14186 from JoshuaVandaele/dit-crash-fix</title>
<updated>2025-12-01T19:00:19+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-12-01T19:00:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=efa8439b795331999684b209257efd3d37aede0e'/>
<id>efa8439b795331999684b209257efd3d37aede0e</id>
<content type='text'>
DITConfiguration: Prevent a crash if images fail to load</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DITConfiguration: Prevent a crash if images fail to load</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #14188 from JosJuice/jit64-flush-carry</title>
<updated>2025-12-01T18:58:38+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2025-12-01T18:58:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=582d5cfe963e9ef1f321dac6eba22483b2de436d'/>
<id>582d5cfe963e9ef1f321dac6eba22483b2de436d</id>
<content type='text'>
Jit64: Flush carry flag in FallBackToInterpreter</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Jit64: Flush carry flag in FallBackToInterpreter</pre>
</div>
</content>
</entry>
</feed>
