JMC47
533fd18d8a
Merge pull request #14303 from Sintendo/game-ini
...
Core: Pass game ID as string_view
2026-01-24 15:36:29 -05:00
JMC47
38566eb1d3
Merge pull request #14300 from jordan-woyak/speedhack-007qos
...
GameSettings: Add patches to limit framerate in 007 Quantum of Solace.
2026-01-24 15:11:11 -05:00
JosJuice
388b1e861c
Merge pull request #14230 from Sintendo/file-search
...
Common/FileSearch: Refactor DoFileSearch
2026-01-24 20:42:31 +01:00
JMC47
1ef75021b6
Merge pull request #14216 from iwubcode/gameid_fifo_log
...
Core: add game id to fifo log header
2026-01-24 14:28:23 -05:00
Sintendo
b135537d65
Core/NetPlayServer: Pass game ID as string_view
2026-01-24 18:03:03 +01:00
Sintendo
8e6d95adb1
Core/ConfigManager: Refactor LoadGameIni and friends
2026-01-24 18:03:03 +01:00
Sintendo
bc4b977e9d
Core/AchievementManager: Refactor IsApprovedCode and users
2026-01-24 18:02:57 +01:00
Sintendo
c0e75f2821
Core/ConfigLoaders: Refactor GetGameIniFilenames
2026-01-24 17:52:46 +01:00
Sintendo
60ca0626df
Remove VectorToJStringArray
2026-01-24 16:50:10 +01:00
Sintendo
972ec95cb3
Clean includes
2026-01-24 16:50:10 +01:00
Sintendo
f2e1c71803
Common/FileSearch: Refactor DoFileSearch
2026-01-24 16:50:10 +01:00
Jordan Woyak
ad505b8833
GameSettings: Add patches to limit framerate in 007 Quantum of Solace and remove ImmediateXFBEnable=False.
...
Thanks to JMC for the JPN region patch.
2026-01-23 19:27:26 -06:00
JosJuice
3221e982d3
Merge pull request #13900 from JosJuice/jit-fma-double-rounding
...
Jit: Implement error-free transformation for single-precision FMA
2026-01-23 21:43:18 +01:00
JMC47
b18abc41ed
Merge pull request #14296 from jordan-woyak/wall-e-disable-immxfb
...
GameSettings: Wall-E: Disable ImmediateXFBEnable to avoid stuck FMVs.
2026-01-23 03:20:03 -05:00
Jordan Woyak
39ecd277d6
GameSettings: Wall-E: Disable ImmediateXFBEnable to avoid stuck FMVs and mention the rationale for setting SafeTextureCacheColorSamples.
2026-01-23 01:08:39 -06:00
iwubcode
4dae6bf97a
Merge pull request #14173 from JoshuaVandaele/WIL-submodule
...
Make WIL a submodule and update it
2026-01-21 18:04:49 -06:00
Dentomologist
009c53ab89
Merge pull request #14146 from jordan-woyak/cached-interp-fix-function-cast-warning
...
CachedInterpreter: Replace reinterpret_cast with std::bit_cast to resolve -Wcast-function-type-mismatch warnings.
2026-01-21 13:29:44 -08:00
Joshua Vandaële
67f27cb0ef
Make WIL a submodule and update it
2026-01-21 19:51:45 +01:00
iwubcode
9656332356
Core: add game id to fifo logs, this makes it easier to test graphical enhancements which use the game id to load
2026-01-19 16:03:19 -06:00
Jordan Woyak
2a771937cf
Merge pull request #14294 from JosJuice/textureinfo-getters-header
...
VideoCommon: Move TextureInfo getters to header
2026-01-19 14:42:20 -06:00
JosJuice
bd96de52b5
Merge pull request #14292 from Dentomologist/jitregister_fix_isenabled_when_using_vtune_without_perf
...
JitRegister: Fix IsEnabled when using VTune without perf
2026-01-19 20:52:15 +01:00
JosJuice
b07c78aabe
VideoCommon: Move TextureInfo getters to header
...
This improves my PC's performance on RS2 Hoth by... 0.1% or so, which I
think is within the margin of error. But this change also cuts down on
boilerplate.
2026-01-19 19:46:21 +01:00
Dentomologist
f4b88af71e
JitRegister: Check Open return code
...
If the call to `Open` a perf map fails don't set `s_is_enabled` (though
it could already be true if you're also using VTUNE) and don't call
`std::setvbuf` with a null stream.
Also fix a typo in a comment (`if` -> `in`)
2026-01-18 17:26:26 -08:00
Dentomologist
7490dea278
JitRegister: Verify IOFile IsGood
...
Use IOFile's bool operator to check that it's not just open but good.
2026-01-18 17:26:26 -08:00
Dentomologist
935f537a80
JitRegister: Fix IsEnabled when using VTune without perf
...
Set `s_is_enabled` to `true` in `Init` when `USE_VTUNE` is defined so
that `IsEnabled` returns true even if perf isn't being used.
2026-01-18 17:26:26 -08:00
Admiral H. Curtiss
710905138c
Merge pull request #14290 from Dentomologist/jitregister_remove_redundant_open_file_check
...
JitRegister: Remove redundant check for open file
2026-01-19 02:06:57 +01:00
JosJuice
3b1a4739bc
JitArm64: Special-case fmadds with single-precision inputs
...
If all inputs to an fmadds instruction (including cousins like fmsubs,
fnmadd...) are single-precision, then the result is identical between a
double-precision calculation with an error-free transform (whether the
calculation is fused or not) and a single-precision FMA instruction
(must be fused). So as a performance optimization in JitArm64, if we
were going to use double precision with EFT but the inputs are singles,
instead we'll use a normal single-precision FMA instruction without
anything extra. This lets us skip both the EFT and double-to-single
conversions.
Also renaming `inaccurate_fma` to `nonfused` because it's confusing that
`inaccurate_fma` and `m_accurate_fmadds` have such similar names
despite controlling separate things.
2026-01-18 20:03:54 +01:00
JosJuice
58487f1633
Jit: Implement error-free transformation for single-precision FMA
...
This implements the equivalent of 07443e2d41 in Jit64 and JitArm64.
Aims to fix https://bugs.dolphin-emu.org/issues/13865 .
2026-01-18 20:02:49 +01:00
JosJuice
6ac7ffcdd7
Jit64: Return FixupBranch from HandleNaNs
...
This will be used in the next commit to skip running code that's
unnecessary when the result is NaN.
2026-01-18 20:02:49 +01:00
JosJuice
d5067b6276
Jit64: Replace MOVSD with MOVAPD in software FMA
...
Should be a little faster by avoiding false dependencies. Note that
there is one remaining MOVSD that really needs to be a MOVSD.
2026-01-18 20:02:49 +01:00
JosJuice
caad84c636
JitArm64: Reduce register pressure for inaccurate FMA with accurate NaNs
...
If result_reg is set to a temporary register instead of VD because of
accurate NaNs, there's no need to allocate a secondary temporary
register because of inaccurate FMA.
2026-01-18 20:02:49 +01:00
JosJuice
84261cfc23
Arm64Emitter: Fix Q bit of vector SHL/URSHR encoding
...
This doesn't affect any existing callers, because all existing callers
use quad registers.
2026-01-18 20:02:49 +01:00
JMC47
ff82ae3b5c
Merge pull request #14064 from JosJuice/jit64-fres-unit-test
...
Jit64: Add fres unit test
2026-01-18 13:52:31 -05:00
JMC47
fe668ebc89
Merge pull request #14033 from JosJuice/jitarm64-inaccurate-fma-double
...
JitArm64: Always use double precision for inaccurate FMA
2026-01-18 13:52:06 -05:00
JMC47
f8b47c031f
Merge pull request #14291 from JosJuice/defer-textureinfo
...
VideoCommon: Defer creating TextureInfo
2026-01-18 13:33:14 -05:00
iwubcode
d8e123a70c
Merge pull request #14241 from jordan-woyak/ar-decode-cleanups
...
ARDecrypt: Code modernization.
2026-01-18 12:04:53 -06:00
JosJuice
fb07406f10
VideoCommon: Defer creating TextureInfo
...
TextureCacheBase::LoadImpl has a hot path where the passed-in
TextureInfo never gets used. Instead of passing in a TextureInfo, let's
pass in the stage and create the TextureInfo from the stage if needed.
This unlocks somewhere above an additional 4% performance boost in the
Hoth level of Rogue Squadron 2 on my PC. Performance varies, making it
difficult for me to measure, so treat this as a very approximate number.
2026-01-18 13:04:06 +01:00
JosJuice
75666604a2
Jit64: Add fres unit test
2026-01-18 11:21:35 +01:00
JosJuice
addededecf
JitArm64: Always use double precision for inaccurate FMA
...
When we're emulating single-precision FMA using an FMA instruction,
there's no precision benefit from using a double-precision instruction,
assuming all inputs are single-precision. But when we're emulating
single-precision FMA using separate multiplication and addition
instructions, there is.
This change increases the precision of inaccurate FMA to the same level
as Jit64, which matters since the only reason we have the inaccurate
FMA mode is for sync compatibility with Jit64.
2026-01-18 10:36:00 +01:00
Jordan Woyak
362d359787
ARDecrypt: Code modernization.
2026-01-18 01:22:10 -06:00
iwubcode
373e35ed5b
Merge pull request #14267 from jordan-woyak/std-expected
...
Common: Replace Result with std::expected.
2026-01-17 22:33:15 -06:00
iwubcode
6d40f4e897
Merge pull request #14265 from JoshuaVandaele/std-unreachable
...
c++23: Replace Common::Unreachable with std::unreachable
2026-01-17 22:32:53 -06:00
Dentomologist
3424983a65
JitRegister: Remove redundant check for open file
...
The check only happened if `USE_VTUNE` wasn't defined, and in that case
it was immediately followed by the same check again.
The check used to avoid an unnecessary call to `StringFromFormatV` in
certain circumstances, but that call was removed in
be81fe86e1 .
2026-01-17 16:39:04 -08:00
JMC47
035bcffc63
Merge pull request #14289 from Sintendo/typos
...
Fix various typos and spelling mistakes
2026-01-17 19:10:50 -05:00
JMC47
d098f2bba9
Merge pull request #14274 from JosJuice/jitregister-check-enabled
...
JitRegister: Check IsEnabled before constructing string
2026-01-17 18:23:43 -05:00
JMC47
cffa4422c9
Merge pull request #14258 from JoshuaVandaele/dinput-unconditional-mousebuttons
...
DInputKeyboardMouse: Always report all possible buttons
2026-01-17 18:23:26 -05:00
JMC47
d32db5e319
Merge pull request #14256 from Tilka/we_cheer
...
GameSettings: improve We Cheer and We Cheer 2 default settings
2026-01-17 18:22:58 -05:00
JMC47
a5b34d43fc
Merge pull request #14215 from Tilka/disasm
...
GekkoDisassembler: fix multiple issues
2026-01-17 18:21:09 -05:00
JMC47
9e8e644fbf
Merge pull request #14193 from jordan-woyak/budokaiprogressive
...
GameSettings: Dragon Ball Z: Budokai 1 and 2 adjustments.
2026-01-17 18:20:37 -05:00
JMC47
663f71b5d1
Merge pull request #14170 from jordan-woyak/gameini-immxfb-updates
...
GameSettings: ImmediateXFB updates.
2026-01-17 18:18:46 -05:00