Commit Graph

28444 Commits

Author SHA1 Message Date
ff2cc4d02b Qt/EnhancementsWidget: Convert texture filtering option to a ComboBox. 2022-12-09 02:02:16 +01:00
8a3b8a925e Core: Add option to force linear texture filtering. 2022-12-09 02:02:16 +01:00
b207611c33 Merge pull request #11274 from TryTwo/PR_Conditional_BP_Add_Memory
Debugger: Add conditional breakpoints to memory BPs
2022-12-07 19:55:04 +01:00
Mai
000c6c4813 Merge pull request #11321 from JosJuice/jitarm64-accurate-nans
JitArm64: Implement accurate NaNs
2022-12-07 00:58:13 +00:00
Mai
94faad0d37 Merge pull request #11320 from AdmiralCurtiss/globals-memory
HW/Memmap: Refactor Memory to class, move to Core::System.
2022-12-07 00:52:31 +00:00
Mai
a9a603b8cb Merge pull request #11268 from jordan-woyak/ascii-controller
Rename "Keyboard" to "Keyboard Controller"
2022-12-04 21:05:52 +00:00
a17fbe7c65 Expand conditional breakpoints to memory breakpoints 2022-12-04 11:25:33 -07:00
Mai
b23eb1f550 Merge pull request #11322 from JosJuice/jit64-madds-nan
Jit64: Correctly handle NaNs for ps_maddsX
2022-12-04 17:58:16 +00:00
Mai
f21edf6d5a Merge pull request #11270 from t895/theme-mode
Android: Add theme mode switcher
2022-12-04 17:56:59 +00:00
c9f31ad6a6 Merge pull request #11262 from K0bin/present-sync
VideoBackends:Vulkan: Synchronize presentation
2022-12-04 14:30:59 +01:00
2b93d5e0d7 Merge pull request #11273 from TryTwo/PR_Conditional_BP_Callstack
Debugger: add callstack to conditional breakpoints
2022-12-04 14:16:12 +01:00
2bd47d1435 Merge pull request #11232 from TryTwo/PR_MemoryView_highlighting
Debugger MemoryViewWidget: always highlight target address
2022-12-04 14:07:19 +01:00
76bf1b5f7d Add callstack to conditional breakpoints. Checks entire stack for value.
Use: callstack(0x80000000).
  !callstack(value) works as a 'does not contain'.
Add strings to expr.h conditionals.
  Use quotations: callstack("anim") to check symbols/name.
2022-12-03 20:52:17 -07:00
eeef5363e4 Jit64: Correctly handle NaNs for ps_maddsX 2022-12-03 21:05:05 +01:00
06e60ac327 JitArm64: Implement accurate NaNs
For quite some time now, we've had a setting on x86-64 that makes Dolphin
handle NaNs in a more accurate but slower way. There's only one game that
cares about this, Dragon Ball: Revenge of King Piccolo, and what that game
cares about more specifically is that the default NaN (or "generated NaN"
as I believe it's called in PowerPC documentation) is the same as on
PowerPC. On ARM, the default NaN is the same as on PowerPC, so for the
longest time we didn't need to do anything special to get Dragon Ball:
Revenge of King Piccolo working. However, in 93e636a I changed how we
handle FMA instructions in a way that resulted in the sign of NaNs
becoming inverted for nmadd/nmsub instructions, breaking the game.
To fix this, let's implement the AccurateNaNs setting, like on x86-64.
2022-12-03 19:41:32 +01:00
5c41d3b602 JitArm64: Refactor temp reg handling in fp_arith/ps_arith 2022-12-03 19:08:27 +01:00
839db591d9 HW/Memmap: Refactor Memory to class, move to Core::System. 2022-12-03 13:27:02 +01:00
Mai
6b514e81f9 Merge pull request #11316 from Pokechu22/jit-widget-fixes
Jit widget fixes
2022-12-02 20:54:48 +00:00
b9fffa2e66 Android: Add theme mode switcher
Similar to app themes, theme modes have to be loaded before directory initialization is ready. So we save the proper key the same way.
2022-12-02 13:31:57 -05:00
3d6bfcd236 JITWidget: Convert to fmt 2022-12-01 17:44:41 -08:00
6a6d24550e Clean up DisassembleBlock and JitInterface::GetHostCode 2022-12-01 17:43:35 -08:00
5842b90bee Show JIT blocks widget when selecting 'PPC vs Host' in code widget
Before, I just assumed this feature was broken since I didn't know what widget it used. Now, it behaves like show memory and show code elsewhere.
2022-12-01 17:43:35 -08:00
0ccfa31ec8 Fix code widget not becoming visible when selecting 'view code' or similar
This affected the memory and registers widgets (and possibly others). I'm pretty sure it regressed in 5f629abd8b.

The SetCodeVisible line is a new fix, but the equivalent already existed in the memory widget.
2022-12-01 17:43:35 -08:00
4f4bd57fe9 Fix crash when stopping emulation while the JIT widget is in use
The call to analyzer.Analyze breaks when it attempts to read an instruction, as it eventually tries to read memory when Memory::m_pRAM is nullptr. Trying to read when execution is not paused in general seems like a bad idea (especially as analyzer.Analyze uses PowerPC::TryReadInstruction which can update icache - this is probably still a problem).
2022-12-01 17:43:34 -08:00
ffb73f43e1 VideoBackends:Metal: Fix min/max lod when setting non-zero-based samplers 2022-11-30 21:11:37 -06:00
700eca1baa MemoryViewWidget set target address as selected. Fix focus call. Always color selected item blue. 2022-11-30 16:38:56 -07:00
Mai
7cd9a78ebf Merge pull request #11304 from JosJuice/jit64-nan-c
Jit64: Correctly handle NaNs for ps_mulsX/ps_sumX
2022-11-29 12:57:43 +00:00
Mai
5f22a0054f Merge pull request #11305 from JosJuice/jitarm64-optimize-ps-merge
JitArm64: Optimize ps_mergeXX
2022-11-29 12:57:10 +00:00
Mai
ff830c08b6 Merge pull request #11307 from AdmiralCurtiss/globals-command-processor
VideoCommon/CommandProcessor: Refactor to class, move to Core::System.
2022-11-29 12:56:30 +00:00
6941d2e7e6 VideoCommon/CommandProcessor: Refactor to class, move to Core::System. 2022-11-29 08:15:01 +01:00
e3cc42069f VideoBackends:OGL: Creating vertex formats shouldn't unbind anything 2022-11-28 21:28:24 -06:00
2f1a8ee1b9 Jit64: Skip HandleNaNs for operations that can't generate NaN
Operations that have two operands and can't generate a default NaN,
i.e. addition and subtraction, already have the desired NaN handling
on x86. We just need to make sure to not reverse the operands.

This fixes ps_sum0/ps_sum1 outputting NaNs in cases where they shouldn't.
(HandleNaNs assumes that a NaN in a ps0 input always results in a NaN in
the ps0 output, and correspondingly for ps1.)
2022-11-27 11:30:10 +01:00
cbceae9176 Jit64: Correctly handle NaNs for ps_mulsX 2022-11-27 11:30:10 +01:00
d3180e3516 Jit64: Refactor HandleNaNs operand passing 2022-11-27 11:30:05 +01:00
Mai
44f8b8c100 Merge pull request #11303 from AdmiralCurtiss/coretiming-class
CoreTiming: Refactor to class.
2022-11-27 06:00:46 +00:00
64bb9ae9a9 Correctly call CoUninitialize() on Cubeb helper class destruction. 2022-11-27 03:58:50 +01:00
daa70533cd CoreTiming: Store Globals in CoreTimingManager. 2022-11-27 03:47:12 +01:00
c9558ecb4c CoreTiming: Refactor to class. 2022-11-27 03:47:12 +01:00
3cdc6e3d4a Merge pull request #10343 from AdmiralCurtiss/cubeb-2021
Update cubeb to mozilla/cubeb@27d2a102b0
2022-11-27 03:26:11 +01:00
f45d3a6a2c JitArm64: Optimize ps_mergeXX
1. In some cases, ps_merge01 can be implemented using one instruction.
2. When we need two instructions for ps_merge01, it's best to start with
   a MOV to avoid false dependencies on the destination register.
3. ps_merge10 can be implemented using a single EXT instruction.
2022-11-26 18:14:58 +01:00
e085bf14f9 Core: Use extra thread for Cubeb on Windows to not disturb the CoInitialize state of whatever thread happens to call a Cubeb function. 2022-11-26 05:05:57 +01:00
ca10e92ab9 Core: Abide by COM MTA requirement for cubeb on Windows. Partially based on https://github.com/dolphin-emu/dolphin/pull/8920#discussion_r459746604
Co-authored-by: Michael M <mchtly@gmail.com>
2022-11-26 05:05:56 +01:00
59b1419a8e Externals: Update cubeb to mozilla/cubeb@773f16b7ea and make it a submodule.
CMakeLists.txt has been extracted and modified a bit to work with Dolphin's typical build settings.
2022-11-26 05:05:52 +01:00
4273d3754c CoreTiming: Move static variables into Core::System. 2022-11-26 04:22:32 +01:00
86f17511fc CoreTiming: Move the 'Globals' instance into Core::System. 2022-11-26 04:22:32 +01:00
70f353fb37 Merge pull request #11283 from AdmiralCurtiss/netplay-save-sync-log
Netplay: Add more logging to save syncing.
2022-11-26 03:53:17 +01:00
d189c70d4d Merge pull request #11230 from AdmiralCurtiss/gci-filenames
GCMemcardDirectory: GCI filename cleanup and fixes.
2022-11-26 03:52:43 +01:00
dd2282324b Debugger BreakpointWidget: Allow editing breakpoints 2022-11-26 03:38:25 +01:00
72eadc6520 InputCommon:SDL: Add SDL 2.26 left and right motion inputs 2022-11-24 15:12:07 -06:00
Mai
7be4c90f67 Merge pull request #11166 from AdmiralCurtiss/mmio-system
HW: Pass System to MMIO handlers.
2022-11-24 00:58:45 +00:00