Commit Graph

42374 Commits

Author SHA1 Message Date
Geotale 2f45391ca5 Improve Integer Rounding Accuracy
Changes integer rounding to more closely meet the documentation
The documentation explains to round before doing any bounds checks
All this really does is make sure some exception bits won't be set wrong
This depends on the rounding mode, fixing cases such as:
- Round to even, (0x7fffffff, 0x7fffffff.8)
- Round to down, (0x7fffffff, 0x80000000)

This change also uses some standard functions for rounding
Previously using them was casting to an s32 directly, now keeps the f64
RoundToIntegerMode introduced due to roundeven not being part of C++17

Finally, it can change a >0x7fffffff to >=0x80000000, done because:
- It looks nicer now with integers (I liked 0s)
- It gives ever so slightly better codegen on Aarch64

Co-Authored-By: JosJuice <josjuice@gmail.com>
2024-09-03 11:17:24 -05:00
Tilka 9ae560d8a0
Merge pull request #12947 from Dentomologist/qtutils_clearlayoutrecursively_fix_potential_crash
QtUtils/ClearLayoutRecursively: Fix potential crash
2024-08-07 03:29:52 +01:00
Tilka 603c8fad85
Merge pull request #12961 from JosJuice/expression-parser-translation
InputCommon: Translate ExpressionParser error messages
2024-08-07 03:28:48 +01:00
Tilka e736d611fc
Merge pull request #12963 from JosJuice/i18n-2024-07-28
i18n: Add comments and improve source strings
2024-08-07 03:28:01 +01:00
Tilka 56e7e37d4f
Merge pull request #12957 from Dentomologist/adjust_include_order_and_spacing
Adjust order and spacing of various #includes
2024-08-07 03:27:23 +01:00
Tilka 513405b0ae
Merge pull request #12978 from Dentomologist/generalpane_fix_building_with_analytics_disabled
GeneralPane: Fix building with analytics disabled
2024-08-06 23:04:09 +01:00
Dentomologist 316f7bfcbf GeneralPane: Fix building with analytics disabled
Add #if statements to only create and set analytics descriptions if
analytics are enabled in the build settings.
2024-08-06 14:30:33 -07:00
Tilka 0fe2abf53c
Merge pull request #12973 from Tilka/debugger
Debugger: keep breakpoints ordered by address
2024-08-06 19:58:24 +01:00
JMC47 68fe6779eb
Merge pull request #12959 from SuperSamus/sysconf-dirty-fix
Config: Don't depend on `is_dirty` to save SYSCONF during restore
2024-08-05 11:42:56 -04:00
JMC47 97af0e983a
Merge pull request #12958 from SuperSamus/ssf-remove-ini
SVX.ini: Replace `EFBToTextureEnable=False` with `ImmediateXFBEnable=False`
2024-08-05 11:42:05 -04:00
Tilka bc72226668
Merge pull request #12891 from Sintendo/jitarm64-subfic
JitArm64_Integer: Optimize subfic for zero
2024-08-04 23:27:40 +01:00
Tillmann Karras f1366a4546 Debugger: keep breakpoints ordered by address
Previously, breakpoints would move to the end of the list whenever
they were edited.
2024-08-04 19:36:20 +01:00
JosJuice c824ee9758
Merge pull request #12829 from Dentomologist/generalpane_add_balloontips
GeneralPane: Add BalloonTips
2024-08-04 15:22:18 +02:00
JMC47 7645cbff9a
Merge pull request #12967 from noahpistilli/taiwan-discord-rpc
Display Taiwanese covers for Taiwanese games
2024-08-03 12:52:05 -04:00
Sketch ebb6255441 Display Taiwanese covers for Taiwanese games 2024-08-01 14:42:52 -04:00
JMC47 8a50676b83
Merge pull request #12952 from LillyJadeKatrin/retroachievements-change-discs-bug
Fixed achievements not working after a disc change.
2024-07-31 19:58:21 -04:00
OatmealDome 0c18393691
Merge pull request #12965 from JosJuice/android-ndk-27
Android: Update to NDK 27.0.12077973
2024-07-30 13:09:53 -04:00
JosJuice 91a323df96 Android: Update to NDK 27.0.12077973 2024-07-30 18:24:48 +02:00
Dentomologist 6a735f3758 GeneralPane: Add BalloonTip to generate new identity checkbox 2024-07-29 14:00:46 -07:00
Dentomologist 5512b68020 GeneralPane: Add BalloonTip to enable analytics checkbox 2024-07-29 14:00:46 -07:00
Dentomologist bfbc4c8cc7 GeneralPane: Add BalloonTip to fallback region combobox 2024-07-29 14:00:46 -07:00
Dentomologist fa4803f38a GeneralPane: Add BalloonTip to auto update combobox 2024-07-29 14:00:46 -07:00
Dentomologist 427b85f2a1 GeneralPane: Add BalloonTip to speed limit combobox 2024-07-29 14:00:46 -07:00
Dentomologist 809b8a683f GeneralPane: Add BalloonTip to discord presence checkbox 2024-07-29 14:00:46 -07:00
Dentomologist ce0ab58dc9 GeneralPane: Add BalloonTip to auto disc change checkbox 2024-07-29 14:00:46 -07:00
Dentomologist 755866b771 GeneralPane: Add BalloonTip to override region settings checkbox 2024-07-29 14:00:46 -07:00
Dentomologist d9336a5de0 GeneralPane: Add BalloonTip to cheats checkbox 2024-07-29 14:00:46 -07:00
Dentomologist b2107023ba GeneralPane: Add BalloonTip to dualcore checkbox 2024-07-29 14:00:46 -07:00
OatmealDome 75d49842c4
Merge pull request #12964 from mitaclaw/jit-profiling-android-correctness
MainAndroid: Thread Correctness In WriteJitBlockLogDump
2024-07-29 16:05:47 -04:00
OatmealDome 4883483d09 MacUpdater: Don't set bundle name via a CMake variable 2024-07-29 12:17:08 -04:00
OatmealDome d4e6bd9d18 MacUpdater: Remove unused variables in CMakeLists 2024-07-29 12:16:13 -04:00
mitaclaw 4f0954dd44 MainAndroid: Thread Correctness In WriteJitBlockLogDump
In a race condition, the core could shut down between the `JitInterface::GetCore` nullptr check and the `JitInterface::JitBlockLogDump` call which constructs a `CPUThreadGuard`. In this scenario, nothing horrible happens—`JitBlockLogDump` also checks for a nullptr—but it would be a failure to display the correct feedback to the user.
2024-07-28 16:10:59 -07:00
OatmealDome 53d2311163
Merge pull request #12960 from mitaclaw/jni-false
MainAndroid: Use JNI_FALSE instead of static_cast<jboolean>(false)
2024-07-28 17:16:32 -04:00
OatmealDome de50309209
Merge pull request #12962 from MayImilae/tellitlikeitis
Dual Core Labeling Update
2024-07-28 16:16:05 -04:00
JosJuice 9d2f5245f4 i18n: Add comments and improve source strings
Most of these changes are to improve consistency in capitalization.
2024-07-28 14:38:20 +02:00
MayImilae 9a730bacce Change Dual Core (speedup) to Dual Core (speedhack) 2024-07-28 03:56:58 -07:00
JosJuice defc38b258 InputCommon: Translate ExpressionParser error messages
The _trans macro marks strings for translation but doesn't do anything
at runtime. For that, we need to use a function like GetStringT.
2024-07-28 12:09:15 +02:00
JosJuice 2849606518
Merge pull request #12956 from SuperSamus/nfs-nitro-defs
Add Bloom and DOF Definitions for Need for Speed: Nitro
2024-07-28 11:12:34 +02:00
mitaclaw 7cafd78ffc MainAndroid: Use JNI_FALSE instead of static_cast<jboolean>(false) 2024-07-27 20:22:25 -07:00
Martino Fontana 7215610dfe Add Bloom definitions for Need for Speed: Nitro 2024-07-27 21:24:32 +02:00
Martino Fontana 991bce2d68 Config: Don't depend on `is_dirty` to save SYSCONF during restore
`Layer::Save` only does its thing if the layer has `is_dirty == true`.
But SYSCONF could have been modified by other layers, so if the base layer wasn't made dirty by anything else, then it wouldn't be restored.
Fixes https://bugs.dolphin-emu.org/issues/13580
2024-07-27 16:45:33 +02:00
Martino Fontana f9450f1460 GameINI: SVX.ini: Replace `EFBToTextureEnable=False` with `ImmediateXFBEnable=False`
To fix flickering pre-rendered cutscenes, the former doesn't do anything anymore, while the latter does.
2024-07-27 15:42:12 +02:00
Dentomologist d627b78c46 Adjust order and spacing of various #includes
Move some #includes around to match the Contributing guidelines.
2024-07-26 14:28:34 -07:00
LillyJadeKatrin 347aab7ab3 Fixed achievements not working after a disc change. 2024-07-25 20:46:46 -04:00
OatmealDome 87b7009c12
Merge pull request #12723 from mitaclaw/cached-interpreter-2.0
Cached Interpreter 2.0
2024-07-24 01:36:39 -04:00
mitaclaw 6c3024c3b1 CachedInterpreter: Combine Interpret, CheckDSI, CheckProgram, and WritePC
I tried making the new templated Interpret callback test only the relevant exceptions (EXCEPTION_DSI, EXCEPTION_PROGRAM, or both), but didn't find a significant performance boost in it. As I am learning, the biggest bottleneck is the number of callbacks emitted, not usually the actual contents of them.
2024-07-23 14:09:57 -07:00
mitaclaw ae43b10eff CachedInterpreter: Use `CodeOp::canEndBlock`
This was a bigger performance boost than I expected.
2024-07-23 14:07:02 -07:00
mitaclaw 818647d694 CachedInterpreter: WritePC optimizations
WritePC is now needed far less, only for instructions that end the block. Unfortunately, WritePC still needs to update `PowerPCState::npc` to support the false path of conditional branch instructions. Both drawbacks should be smoothed over by optimized cached instructions in the future.
2024-07-23 14:06:40 -07:00
mitaclaw 0282fa7adb CachedInterpreter: Exception Check Callback Micro-Optimization
This saves two register pushes / pops.
2024-07-23 14:06:22 -07:00
mitaclaw f79520a906 Cached Interpreter 2.0
It now supports variable-sized data payloads and memory range freeing. It's a little faster, too.
2024-07-23 14:06:21 -07:00