Commit Graph
33162 Commits
Author SHA1 Message Date
JMC47andGitHub 533fd18d8a Merge pull request #14303 from Sintendo/game-ini
Core: Pass game ID as string_view
2026-01-24 15:36:29 -05:00
JosJuiceandGitHub 388b1e861c Merge pull request #14230 from Sintendo/file-search
Common/FileSearch: Refactor DoFileSearch
2026-01-24 20:42:31 +01:00
JMC47andGitHub 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
JosJuiceandGitHub 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
DentomologistandGitHub 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
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 WoyakandGitHub 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 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. CurtissandGitHub 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