Commit Graph

31639 Commits

Author SHA1 Message Date
Pokechu22
36d4ee0939 GCAdapter: Use std::array for controller read and write payloads 2022-06-02 19:39:36 -07:00
Pokechu22
dd6592698e GCAdapter: Merge GCAdapter.cpp and GCAdapter_Android.cpp
This is mostly a brainless merge, #ifdef-ing anything that doesn't match between the two while preserving common logic.  I didn't rename any variables (although similar ones do exist), but I did change one log that was ERROR on android and NOTICE elsewhere to just always be NOTICE.  Further merging will follow.
2022-06-02 19:39:36 -07:00
Mai M
f7f47d3cd0
Merge pull request #10692 from Pokechu22/dsp-manual-set40-and-write-backlog
docs/DSP: Add sections on 16-bit and 40-bit modes and on main and extended opcode writing to the same register
2022-06-02 20:26:31 -04:00
Mai M
c8ab236e0a
Merge pull request #10709 from Pokechu22/dsp-lle-update-sr-16
DSP LLE JIT: Fix Update_SR_Register16_OverS32
2022-06-02 20:22:36 -04:00
Mai M
566da9ffd0
Merge pull request #10715 from Pokechu22/dspspy-incomplete-dump
DSPSpy: Fix incomplete result dumps
2022-06-02 20:21:28 -04:00
Mai M
84944625df
Merge pull request #10714 from OatmealDome/macos-mojave-bump
BuildMacOSUniversalBinary: Bump minimum macOS to 10.14
2022-06-02 20:20:52 -04:00
Mai M
5808a0bc9a
Merge pull request #10717 from shuffle2/vs17.2.3
msvc: update to vs 17.2.3
2022-06-02 20:18:33 -04:00
Pokechu22
0fc1fb023f
Merge pull request #10678 from Dentomologist/skip_pagefault_test_if_no_exception_handler
UnitTests: Skip PageFaultTest if exception handlers aren't supported
2022-06-02 16:21:21 -07:00
Shawn Hoffman
f11b6bbdda cmake/win: don't set _WIN32_WINNT 2022-06-02 15:56:01 -07:00
Shawn Hoffman
b07d6116d9 update min windows sdk to 10.0.22621 2022-06-02 15:53:29 -07:00
Shawn Hoffman
a720e8509b msvc: update min version to VS 17.2.3 2022-06-02 15:52:53 -07:00
Admiral H. Curtiss
a58bb2aa24
Merge pull request #10701 from TryTwo/PR_Memory_Widget_Connections
Debugger MemoryWidget: Navigate to memory from breakpoint widget and cheat search.
2022-06-02 20:50:44 +02:00
Pokechu22
12d34eec9b DSPSpy: Add 40-bit mode tests 2022-06-01 22:25:59 -07:00
Pokechu22
4bc42ded80 DSP LLE Interpreter: Remove OpReadRegisterAndSaturate
Instead, saturate in OpReadRegister, as all uses of OpReadRegisterAndSaturate called OpReadRegister for other registers (and there isn't anything that writes to $ac0.m or $ac1.m without saturation).
2022-06-01 22:01:49 -07:00
Pokechu22
928f745e36 DSP LLE Interpreter: Fix typo in 'LS
This was introduced in fc1db5eaa0.
2022-06-01 22:01:49 -07:00
Pokechu22
e7f78379ec DSP LLE Recompiler: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m 2022-06-01 22:01:49 -07:00
Pokechu22
bc206b7a27 DSP LLE Interpreter: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m 2022-06-01 22:01:49 -07:00
Pokechu22
00a5f99b6b DSPSpy: Fix incomplete result dumps
The current code expects new mail almost immediately after the last map was sent for it to be saved properly. However, I have a test program that ends up looping for 32768 iterations before it sends more mail; this resulted in an incomplete result dump. I've changed it to wait a frame between checking for mail, which solves that issue. This does slow down dumping, but the end speed matches the speed at which the UI updates the registers so this isn't a big deal (the UI waits a frame between mail normally). (Theoretically, it could take even longer for dumping to finish, so this is not a perfect solution. However, for tests that take that long to run, it would be better to save the existing results instead of re-running the test and saving that; that'd be something to do with later improvements.)
2022-06-01 21:55:56 -07:00
OatmealDome
803a0de5a4 VKMain: Remove check for macOS 10.14 2022-06-01 22:57:56 -04:00
OatmealDome
1cb3058abe MemoryUtil: Remove __builtin_available for macOS 10.14 2022-06-01 22:57:56 -04:00
OatmealDome
6e2febd404 VideoBackendBase: Remove __builtin_available for macOS 10.14 2022-06-01 22:57:51 -04:00
TryTwo
177dae6a1a Add options for BreakpointWidget, WatchWidget, and CheatSearches to send address to Memory Widget 2022-06-01 01:53:15 -07:00
Dentomologist
e0c9ae16b9 FileUtil: Refactor CreateSysDirectoryPath() 2022-05-31 16:18:08 -07:00
Dentomologist
c2be78079c FileUtil: Remove GetSysDirectory log spam
Create and log path the first time GetSysDirectory is called, then just
return the path on future calls.
2022-05-31 16:18:08 -07:00
Dentomologist
4d563ce4d1 Android: Ensure File::s_android_sys_directory is set only once 2022-05-31 16:18:08 -07:00
Pokechu22
f88b7ab6b3 DSP LLE JIT: Fix Update_SR_Register16_OverS32
There were 3 bugs here:

- The input register for the full register wasn't actually being used; it was read into RCX but RCX wasn't used by Update_SR_Register16_OverS32 (except as a scratch register).  The way the DSP LLE recompiler uses registers is in general confusing, so this commit changes a few uses to have a variable for the register being used, to make code a bit more readable.  (Default parameter values were also removed so that they needed to be explicitly specified).
- Update_SR_Register16 was doing a 64-bit test, when it should have been doing a 16-bit test.  For the most part this doesn't matter due to sign-extension, but it does come up with e.g. `ORI` or `ANDI`.
- Update_SR_Register16_OverS32 did the over s32 check, and then called Update_SR_Register16.  Update_SR_Register16 masks $sr with ~SR_CMP_MASK, clearing the over s32 bit.  Now the over s32 check is performed after calling Update_SR_Register16 (without masking a second time).  No official uCode cares about the over s32 bit.
2022-05-30 20:10:55 -07:00
Pokechu22
7c63bd1893 docs/DSP: Fix inconsistency with ADDI and CMPI
We don't have anything called $amD, though we do have $acsD.  However, these instructions affect flags based on the whole accumulator, so it's better to just use $acD.
2022-05-29 15:00:09 -07:00
Pokechu22
baf2c710ff DSP: Fix typo with TST 2022-05-29 15:00:09 -07:00
Pokechu22
4dc7208195 docs/DSP: Fix typo with arithmetic instructions that take a 16-bit immediate
These instructions used an 'r' in their bit list, but a 'd' in the operands.
2022-05-29 15:00:09 -07:00
Pokechu22
b349254ff4 docs/DSP: Document the behavior when main and extended opcodes both write to the same register (the write backlog)
For more information, ApplyWriteBackLog, WriteToBackLog, and ZeroWriteBackLog were added in b787f5f8f7 and the explanatory comment was added in fd40513fed, although it did not mention the specific instructions that could trigger this edge case. The statements about which registers can be written by main opcodes and extension opcodes are based on my own checking of all instructions in the manual.
2022-05-29 15:00:09 -07:00
OatmealDome
df22439826 FS: Reshuffle Rename to fix steamrt unit test failure 2022-05-29 13:50:32 -04:00
OatmealDome
09875c6403 DolphinQt: Copy qt.conf into Binaries output folder on Steam builds for Linux 2022-05-29 13:50:32 -04:00
OatmealDome
5c4122ec2a DolphinQt: Copy Sys into Binaries output folder on Steam builds for Linux 2022-05-29 13:50:32 -04:00
OatmealDome
77fb5fa7dc DolphinQt: Copy all Qt libraries into Binaries output folder on Steam builds for Linux 2022-05-29 13:50:32 -04:00
OatmealDome
6b05f5cca8 DolphinQt: Set the executable's rpath to a lib directory in $ORIGIN on Steam builds for Linux
We will store our Qt shared libraries here.
2022-05-29 13:50:32 -04:00
OatmealDome
e679502a5d GLX: Guard against redefinition of PFNGLXSWAPINTERVALEXTPROC
This type is already declared in glxext.h in the Steam Runtime.
2022-05-29 13:50:32 -04:00
Shawn Hoffman
5f3112653d android: downgrade AGP to 7.0.4
workaround for https://issuetracker.google.com/issues/232060576
2022-05-29 01:18:05 -07:00
Shawn Hoffman
863f14a6f7 android: update gradle to 7.4.2 2022-05-29 01:17:30 -07:00
Shawn Hoffman
ead78cc7e6 android: update constraintlayout to 2.1.4 2022-05-28 22:36:16 -07:00
Tilka
e17a4f49f5
Merge pull request #10668 from Dentomologist/convert_pointerwrap_mode_to_enum_class
Convert PointerWrap::Mode to enum class
2022-05-29 00:57:43 +01:00
Tilka
3dbc18060b
Merge pull request #10694 from Pokechu22/dsp-assembler-error-messages-etc
DSPAssembler: Rework errors and warnings, and related cleanup
2022-05-29 00:16:23 +01:00
Tilka
57e444cd5d
Merge pull request #10697 from Dentomologist/windows_remove_qt5_code_and_references
Windows: Remove unused Qt5 block and reference
2022-05-29 00:14:34 +01:00
Pokechu22
8d880cd86e DSPSpy: Add CMPAXH test 2022-05-27 18:22:38 -07:00
Pokechu22
d307c34af1 DSP LLE: Rename CMPAR to CMPAXH 2022-05-27 18:22:38 -07:00
Dentomologist
059cd5f6e1 Windows: Remove unused Qt 5 code and references 2022-05-25 17:51:17 -07:00
Dentomologist
c8e20c569b Convert PointerWrap::Mode to enum class 2022-05-25 13:16:46 -07:00
Dentomologist
f6b9acccfc Common: Refactor PointerWrap 2022-05-25 13:06:41 -07:00
Pokechu22
2341ff00ab NetPlay: Make messages about non-matching games clearer 2022-05-24 23:20:45 -07:00
Pokechu22
ea9b0bff08 NetPlay: Delete NetPlayClient::GetPlayerList
It's been unused since DolphinWX was removed in 44b22c90df.  Prior to that, it was used in Source/Core/DolphinWX/NetPlay/NetWindow.cpp.  But the new equivalent in Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp uses NetPlayClient::GetPlayers instead.  Stringifying (or creating a table, as is done now) should be done by the UI in any case.
2022-05-24 14:44:28 -07:00
Tilka
b6ad5c5902
Merge pull request #10683 from Pokechu22/gamelist-home-end
GameList: Have home/end keys move to first/last row
2022-05-24 22:10:38 +01:00
Pokechu22
bd3173e344 DSPAssembler: Rework errors and warnings
Among other things, this trims trailing newline characters. Before (on windows) the \r would corrupt the output and make them very hard to understand (as the error message would be drawn over the code line, but part of the code line would peek out from behind it).
2022-05-23 20:27:17 -07:00
Pokechu22
db3d457e5f DSPDisassembler: Remove redundant definition of CW
CW is used as a fallback to write a full instruction as hex, but we already declare it in DSPTables.h for the assembler.
2022-05-23 19:36:47 -07:00
Pokechu22
b06d38389b DSP: Remove some magic numbers for register IDs 2022-05-23 19:36:47 -07:00
Pokechu22
8b52c7315b DSP: Fix assembling x8/x9/xA/xB conditions
The assembler upper-cases the mnemonic internally, so it never would match the lower-case x.
2022-05-23 19:36:47 -07:00
Pokechu22
e7f6e19c61 DSPAssembler: Slightly improve readability of AssemblePass
This should result in no behavior differences.
2022-05-23 19:36:47 -07:00
Pokechu22
c34a738b4c DSPSpy: Add missing jumps to end_of_test
Without this, execution continues beyond the end of the function, into the great unknown (probably eventually falling into either code left from a previous test, or the start of the DSP ROM). end_of_test is just an infinite loop to stop executing until the DSP is reset.
2022-05-23 19:36:47 -07:00
Admiral H. Curtiss
b18fd3d3ce
Core/State: Make memory layout of StateHeader more explicit. 2022-05-24 03:04:52 +02:00
Admiral H. Curtiss
f68c3b758e
Common/Network: Use std::array in IPv4Header. 2022-05-23 02:01:59 +02:00
JMC47
3a3357444e
Merge pull request #8067 from endrift/hsp
Preliminary HSP support
2022-05-22 13:42:27 -04:00
Pokechu22
1c4a5d9fc9 GameList: Work around Qt bug regarding clicking in the background not setting the position used by page down/end 2022-05-21 23:33:46 -07:00
Admiral H. Curtiss
8d0f52032b
IOS/DI: Fake the error 001 read when running DirectoryBlobs or Riivolution-patched games. 2022-05-22 04:22:41 +02:00
Pokechu22
2d50ba0ca2 GameList: Have home/end keys move to first/last row 2022-05-21 18:11:24 -07:00
Admiral H. Curtiss
0e948f3e21
Merge pull request #10620 from phire/cmake_win_fixes
Various fixes for msvc/cmake builds
2022-05-22 03:08:17 +02:00
Pokechu22
8b3517a9f9
Merge pull request #10686 from Tilka/pikmin_demo
DSPHLE: handle crc of Pikmin 1 GC US Demo
2022-05-21 17:30:31 -07:00
Vicki Pfau
6a26b0ce8a HW: Initial HSP implementation with ARAM expansion 2022-05-21 17:05:49 -07:00
Admiral H. Curtiss
580c721c82
cmake: Don't use PCH with Qt6. 2022-05-22 01:19:44 +02:00
Admiral H. Curtiss
a5e85627b0
cmake: Use Policy CMP0117 for more sensible RTTI flag configuration on MSVC. 2022-05-22 00:30:56 +02:00
Admiral H. Curtiss
9908219dc6
cmake: Add a few missing settings from the Visual Studio project files on MSVC. 2022-05-22 00:29:48 +02:00
Admiral H. Curtiss
89fadd26a6
cmake: Use C++latest everywhere on MSVC. 2022-05-22 00:29:48 +02:00
Admiral H. Curtiss
dbee810a04
cmake: Fixes for Qt6 on Windows. 2022-05-22 00:29:48 +02:00
Scott Mansell
876f6651b4
cmake: fix PCH to work with msvc/ninja
Ninja puts way more effort into compiling targets in parallel, and
ignores dependenceis until link time.

So we need to jump though hoops to force ninja to compile
pch.cpp before any targets which depend on the PCH.
2022-05-22 00:29:47 +02:00
Scott Mansell
0909e00117
cmake: fix MSVC PCH support
I'm not sure if the previous implementation ever worked.
2022-05-22 00:29:47 +02:00
Scott Mansell
2348017ee8
cmake: ignore external warnings in MSVC
Since we also treat all warnings as errors, we need to
ignore these to successfully build.
2022-05-22 00:29:46 +02:00
Scott Mansell
987f270083
cmake: fix buggy target sources on windows
I have no idea why cmake supports PUBLIC on target_sources,
but it does. It causes all targets that depend on this target
to try and include the files in their sources.
Except it doesn't take paths into account, so it breaks. Mabye
it would work if you used an abolute source? But I'm not sure
there is a sane usecase.
2022-05-22 00:29:46 +02:00
Sage King
f0454ab2fa Added double click to add expressions when mapping 2022-05-21 14:08:49 -06:00
Tillmann Karras
d7da4aca19 DSPHLE: handle crc of Pikmin 1 GC US Demo
The DSP code only has minor differences to the final release.
2022-05-21 16:48:34 +01:00
Pokechu22
863cb591fe MainSettings: Make MAIN_CUSTOM_RTC_VALUE default value less magical 2022-05-20 20:35:53 -07:00
Mai M
0f2540a0d1
Merge pull request #10667 from t895/landscape-card
Android: Fix game card in landscape
2022-05-19 22:44:59 -04:00
Mai M
244e4acff2
Merge pull request #10674 from OatmealDome/mac-steam-overlay
DolphinQt: Add com.apple.security.cs.allow-dyld-environment-variables to entitlements
2022-05-19 22:43:57 -04:00
Pokechu22
151119cece DSPInterpreter: Fix typo in isOverflow comment 2022-05-19 16:36:39 -07:00
Mai M
a98d0367d8
Merge pull request #10677 from Pokechu22/no-printf-log
Remove printf-style logging
2022-05-19 17:55:17 -04:00
Pokechu22
2aa0ae097b
Merge pull request #10672 from Pokechu22/xf-invtxspec
Show panic alerts if the CP configuration doesn't match the XF configuration
2022-05-19 13:13:53 -07:00
Pokechu22
8baeb75bd2
Merge pull request #10669 from Pokechu22/adapter-change-aa-mode-list-reload
Fix antialiasing modes being determined from the wrong graphics adapter
2022-05-19 13:13:22 -07:00
Pokechu22
5f9212dd84 Common/LogManager: Remove old printf-style logging functions 2022-05-19 12:41:58 -07:00
Pokechu22
0637c17b59 VideoCommon/FrameDump: printf-format messages before logging them 2022-05-19 12:41:58 -07:00
Pokechu22
35cb5c8f75 EXI_DeviceEthernet: Replace INFO_LOG with INFO_LOG_FMT 2022-05-19 12:41:58 -07:00
Pokechu22
2f5e69a94e JitArm64: Replace WARN_LOG with WARN_LOG_FMT 2022-05-19 12:41:57 -07:00
Pokechu22
642a1c1348 MainWindow: Replace WARN_LOG with WARN_LOG_FMT 2022-05-19 12:41:57 -07:00
Pokechu22
0faf0b80ad TAPServer_Apple: Use fmt logging 2022-05-19 12:41:57 -07:00
Dentomologist
6ffd938f98 UnitTests: Skip PageFaultTest if exception handlers are not supported
Page faults should only occur on architectures that support exception
handlers, so skip the test on other architectures to avoid spurious test
failures.
2022-05-19 12:26:41 -07:00
Pokechu22
a86fb9b475 Core/WGInput: Use fmt logging and include HRESULT in messages 2022-05-19 12:12:19 -07:00
OatmealDome
185188c009 DolphinQt: Add com.apple.security.cs.allow-dyld-environment-variables to entitlements 2022-05-18 20:23:17 -04:00
Pokechu22
8df55b492c Show a panic alert if the CP matrix indices don't match the XF matrix indices
This almost certainly never happens, but if it does we want to know.
2022-05-18 14:43:14 -07:00
Pokechu22
38a75f6a49 Show a panic alert if the CP vertex config doesn't match the XF vertex config
This probably isn't triggered by real games, but it's possible to accidentally do it with libogc (which results in freezes on real hardware).
2022-05-18 14:43:14 -07:00
Pokechu22
46bcdc4372 Rename CP and XF normal component count enums and update their descriptions 2022-05-18 14:43:14 -07:00
Pokechu22
736466a5d9 XFMemory: Rename hostinfo to invtxspec 2022-05-18 14:43:14 -07:00
Pokechu22
3949698acf Verify graphics config validity after populating the backend info
... and refresh the config before populating the backend info, as the config (specifically iAdapter) needs to be set to correctly populate the backend info.

Before, the list of valid antialiasing modes was always determined from the first adapter on the list on startup, regardless of the adapter the user selected.
2022-05-16 16:59:57 -07:00
Pokechu22
3950bc4620 Treat changing the graphics adapter the same as changing the backend
This results in the list of available antialiasing modes being updated; before, it would only show the modes available for the adapter that was selected when the graphics window was opened (or the backend was last changed).

The list of available modes is updated by `GraphicsWindow::OnBackendChanged`'s call to `VideoBackendBase::PopulateBackendInfoFromUI`, and then `EnhancementsWidget::LoadSettings` updates the UI.  Both of these are connected to the `GraphicsWindow::BackendChanged` signal.
2022-05-16 16:59:31 -07:00
Mai M
4085d463a1
Merge pull request #10661 from Tilka/ax_init
AX: refactor buffer initialization
2022-05-16 14:23:13 -04:00
Admiral H. Curtiss
b10808d815
Merge pull request #8763 from JosJuice/panic-alert-deadlock-gpu
DolphinQt: Fix the panic alert deadlock, dual core edition
2022-05-16 02:21:14 +02:00