Commit Graph

33309 Commits

Author SHA1 Message Date
Sepalani 7dc647fd4c BBA/BuiltIn: Add UPnP HTTP listener 2022-08-28 23:09:09 +04:00
Admiral H. Curtiss 59f3be8c54
Qt: Make custom dialog for NAND Repair.
This is so that if you have a lot of titles that need repair the dialog can still fit on screen.
2022-08-28 03:11:17 +02:00
Shawn Hoffman cd407abe34 WGInput: implement error handling 2022-08-27 02:11:27 -07:00
Shawn Hoffman 6bc8ab7001 WGInput: use c++/winrt 2022-08-26 23:20:34 -07:00
Shawn Hoffman 76d2e47444 ciface/win32: use CM_Register_Notification instead of wnd msgs 2022-08-26 21:59:56 -07:00
Sepalani 7202cf2650 BBA/BuiltIn: Add SSDP multicast support 2022-08-24 21:29:57 +04:00
Sepalani f992f8f38c BBA/BuiltIn: Make network interface consistent 2022-08-24 21:05:18 +04:00
Sepalani e783a7f409 Common/Network: Add StrNetworkError helper function 2022-08-24 21:05:18 +04:00
JosJuice b6ac63dc47
Merge pull request #11000 from t895/monochrome
Android: Use vector icon and enable monochrome icon
2022-08-24 17:38:59 +02:00
Admiral H. Curtiss 9c9962083d
Merge pull request #10956 from Dentomologist/address_cpp20_todo_comments
Address c++20 TODO comments
2022-08-24 17:18:56 +02:00
Admiral H. Curtiss e5cfa286bd
Merge pull request #10960 from shuffle2/mz
ResourcePack: dont scan for individual files
2022-08-24 17:11:21 +02:00
Admiral H. Curtiss a7d358a97b
Merge pull request #11003 from sepalani/decode-error
Move SocketManager's DecodeError to Common
2022-08-24 17:01:07 +02:00
OatmealDome da0a89e6e6 msbuild: Add property for disabling auto updates
This will be used for our Steam builds.
2022-08-23 15:29:42 -04:00
OatmealDome f2fad4df47 msbuild: Add property for creating Steam builds on Windows 2022-08-23 15:29:27 -04:00
Pokechu22 0cced44142 Use `__VA_OPT__(, ) __VA_ARGS__` instead of `##__VA_ARGS__`
Per https://en.cppreference.com/w/cpp/preprocessor/replace#.23_and_.23.23_operators the `##` behavior is a nonstandard extension; this extension seems to be supported by all compilers we care about, but IntelliSense in visual studio doesn't correctly handle it, resulting in false errors in the IDE (but not when compiling).

Per https://en.cppreference.com/w/cpp/preprocessor/replace#Function-like_macros C++20 introduced a workaround, where `__VA_OPT__(, )` generates a comma if and only if `__VA_ARGS__` is non-empty.

This PR replaces all occurrences, with the exception of Externals, DSPSpy (which is not likely to be edited in MSVC and does not target C++20 currently), and JitArm64_Integer.cpp (which uses `Function(__VA_ARGS__)`, and thus does not ever need a comma).
2022-08-23 12:09:57 -07:00
JosJuice 299aef945b
Merge pull request #11005 from t895/cover-only
Android: Add option to disable game cover text
2022-08-23 18:24:51 +02:00
Admiral H. Curtiss aa8364a327
Merge pull request #10996 from JosJuice/gpu-texture-uint
VideoCommon: Fix OpenGL ES GPU texture decoding
2022-08-23 10:48:51 +02:00
PEmu2 b516ae12ca
Edit error message
Edit error message to be less sarcastic. I doubt many users appreciate this when Dolphin has just crashed.
2022-08-22 19:52:13 -07:00
Charles Lombardo 7659753924 Android: Update target SDK version 2022-08-22 19:14:43 -04:00
JMC47 48fdbcde23
Merge pull request #10809 from TryTwo/PR_CodeWidget_Filters
Debugger CodeWidget: Add filter boxes to callstack, function calls, a…
2022-08-22 15:47:20 -04:00
Charles Lombardo 2caa1f3b43 Android: Add option to disable game cover text 2022-08-22 13:50:39 -04:00
Admiral H. Curtiss 1845a13cbe
Merge pull request #10905 from shuffle2/netplay-hash
netplay: use sha1 instead of md5
2022-08-22 15:57:49 +02:00
Admiral H. Curtiss 8b7e6f1863
Merge pull request #10933 from shuffle2/vs
msbuild: fix overbuilding of externals and lessen rebuild likelyhood
2022-08-22 15:19:13 +02:00
Admiral H. Curtiss aba87ba1e3
Merge pull request #10997 from JosJuice/nfs-check
DiscIO: Fix an incorrect error check in NFSBlob
2022-08-22 15:14:15 +02:00
Charles Lombardo 3814fab9ec Android: Use vector icon and enable monochrome icon 2022-08-22 07:54:57 -04:00
Sepalani 597fb9ff6d Move SocketManager's DecodeError to Common
Fix thread safety issue
2022-08-22 14:02:26 +04:00
Charles Lombardo 903c94f7be Android: Update SDK and dependencies 2022-08-21 14:51:04 -04:00
JosJuice 052fdfa00d DiscIO: Fix an incorrect error check in NFSBlob 2022-08-21 00:06:53 +02:00
Mai fef8325ff7
Merge pull request #10995 from JosJuice/nfs-size-out
DiscIO: Fix calculation of NFS raw size
2022-08-20 17:57:46 -04:00
JosJuice 724bd3e597 VideoCommon: Fix OpenGL ES GPU texture decoding 2022-08-20 23:21:23 +02:00
JosJuice aca624ef9c DiscIO: Fix calculation of NFS raw size 2022-08-20 21:18:36 +02:00
Shawn Hoffman 7c3cdeda2b qt: defer writing gamelist cache until EndRefresh
large speedup
2022-08-19 19:51:31 -07:00
TellowKrinkle 1bc133f3ae CMake: Properly include lzma include directories 2022-08-18 21:06:57 -05:00
TellowKrinkle 048f6fac52 CMake: Properly include zstd include directories 2022-08-18 21:06:57 -05:00
JMC47 498c06b85a
Merge pull request #10989 from CasualPokePlayer/fifo_reset_dual_core
Fix crashes in dual core mode on a PI_FIFO_RESET
2022-08-18 17:32:29 -04:00
TellowKrinkle 588c4bd635 InputCommon:QuarzKB&M: Use view position instead of window position 2022-08-18 16:29:43 -05:00
TellowKrinkle 798b241832 InputCommon:QuarzKB&M: Use KVO to watch window position
CGWindowListCreateDescriptionFromArray would block for up to ~1ms, which isn't a great thing to do on the main emulation thread
2022-08-18 16:29:43 -05:00
CasualPokePlayer ab8a8e6f84 Fix crashes in dual core mode on a PI_FIFO_RESET 2022-08-18 13:38:37 -07:00
Mai fea552a4de
Merge pull request #10981 from JosJuice/android-string-single-choice-naming
Android: Clean up StringSingleChoiceSetting naming
2022-08-18 10:37:56 -04:00
Mai 39aa5f29a6
Merge pull request #10991 from Pokechu22/dsp-hle-ax-ucode-switch-state
DSPHLE/AX: Set state to WaitingForCmdListSize when switching uCodes
2022-08-18 10:34:57 -04:00
Mai 7a23b45aa1
Merge pull request #10992 from Pokechu22/swapchain-unused-functions
VideoCommon: Remove unused swap chain functions
2022-08-18 10:32:51 -04:00
Pokechu22 3c38f5c1d2 D3DCommon: Remove unused swap chain functions
These were added in ea15080d8f (which added D3DCommon), but never were used.
2022-08-17 18:16:50 -07:00
Pokechu22 da7aded00d Vulkan: Remove unused swap chain functions
These were added in 5e29508b8f and 1f2d43c870, but were replaced with CONFIG_CHANGE_BIT_VSYNC and CONFIG_CHANGE_BIT_STEREO_MODE in e4b205c769.
2022-08-17 18:16:17 -07:00
Pokechu22 f9e1933111 DSPHLE/AX: Set state to WaitingForCmdListSize when switching uCodes
Fixes https://bugs.dolphin-emu.org/issues/13017. With uCode switching, the existing instance of AXUCode is re-activated when GBAUCode is done, but if the state remains as WaitingForNextTask, it won't be able to do anything. Instead, it needs to be in WaitingForCmdListSize.

(When the AX uCode is resumed, startpc is set to 0x0030, at least for 0x07f88145; this is the same location as MAIL_RESUME jumps to, so DSP_RESUME should be sent when the resuming happens; that's already handled by AXUCode::Update.)
2022-08-17 12:05:53 -07:00
Shawn Hoffman 4ae475b6a1 fix verifying wii dev signatures
allows verifying dev-signed discs and wads
2022-08-16 12:47:26 -07:00
Admiral H. Curtiss 650f172637
DolphinQt: Only show raw memory card path if it's not the default. 2022-08-16 00:23:36 +02:00
Admiral H. Curtiss d11839fd64
DolphinQt: Show raw memory card path and AGP cartridge path in config window. 2022-08-16 00:20:58 +02:00
Admiral H. Curtiss 43d4923e78
Config: Allow passing std::nullopt for the region in GetMemcardPath() to use the region as configured in the path itself. Falls back to the fallback region if no region is in the path. 2022-08-16 00:20:58 +02:00
JosJuice b6a18b0da5
Merge pull request #10980 from JosJuice/android-no-dir-init-fail
Android: Force quit app if external storage isn't mounted
2022-08-14 15:47:50 +02:00
JosJuice 46cb106124 Android: Clean up StringSingleChoiceSetting naming 2022-08-14 15:42:06 +02:00
JosJuice 1646197902 Android: Force quit app if external storage isn't mounted
In the past, directory initialization could fail for two reasons:
The user was rejecting the storage permission, or external storage
wasn't mounted. With the introduction of scoped storage, the first of
these two couldn't happen anymore; if the user rejects the storage
permission, we just use the app-specific directory instead of the
dolphin-emu directory.

By making it so Dolphin force quits if external storage isn't mounted,
we can get rid of our code for handling retrying directory initialization
after it fails. I think this slight hit to UX is worth it considering
that basically nobody has an Android device with detachable primary
external storage anymore. And the UX hit is very small; the user just has
to manually open the app again after remounting external storage. The
toast about external storage not being mounted will still be displayed.

The recent merge of the splash screen PR may have made it so that the
code for handling directory initialization failing doesn't work anymore.
To be completely honest, I'm not sure how to even test this in 2022.
2022-08-13 18:59:23 +02:00
Admiral H. Curtiss 92c6407c45
Merge pull request #10970 from AdmiralCurtiss/directoryblob-encrypted
DirectoryBlob: Fix partition size mixup for encrypted Wii discs.
2022-08-12 22:35:40 +02:00
TellowKrinkle b96bc4267e InputCommon: Enable ARC for obj-c++ 2022-08-12 02:09:53 -05:00
JosJuice ce08de8cc6
Merge pull request #10948 from t895/splash
Android: Add Androidx splash screen to wait for directory initialization
2022-08-11 20:05:46 +02:00
Léo Lam be33e1079d
Merge pull request #10972 from AdmiralCurtiss/ios-fs-metadata-nop
IOS/FS: Skip writing FST if SetMetadata() changes nothing.
2022-08-11 16:16:45 +01:00
Charles Lombardo 0c89e5ea8d Add AndroidTV splash screen 2022-08-10 15:53:45 -04:00
Charles Lombardo 1dff1c3fe8 Android: Add Androidx splash screen to wait for directory initialization 2022-08-10 15:37:10 -04:00
Admiral H. Curtiss 7ac042d00b
DirectoryBlob: Fix partition size mixup for encrypted Wii discs. 2022-08-10 20:43:52 +02:00
JosJuice 3f794bf87e
Merge pull request #10974 from t895/permissions-fix
Android: Prevent app lockup when revoking write access
2022-08-10 20:27:30 +02:00
Charles Lombardo a91e47899d Android: Prevent app lockup when revoking write access 2022-08-10 13:57:30 -04:00
Pokechu22 1004e34167 Android: Don't set the signingConfig if keystore property isn't set
If the property isn't set, we don't initialize the release config, so we shouldn't use it. This fixes building issues for me.
2022-08-10 09:58:49 -07:00
Admiral H. Curtiss 0d39c4a78a
IOS/FS: Skip writing FST if SetMetadata() changes nothing. 2022-08-10 06:28:23 +02:00
Charles Lombardo e926946f64 Consistent tv card colors
Item selected color is now dolphin-blue for all cards in the TV activity.
2022-08-10 00:23:19 -04:00
Admiral H. Curtiss dcdba11ded
Merge pull request #10962 from askew-etc/inc-dec-select-state-hotkeys
Add hotkeys for incrementing/decrementing select state slot
2022-08-10 01:41:32 +02:00
Sage King da803adf15 Work around for compiler bug on Debian and FreeBSD 2022-08-09 16:26:54 -06:00
Sage King 66276ac61b Added type to SyncIndentifierComparison enum in SyncIdentifier.h in an
attempt to fix a failed call to operator<< in SendResponse()
2022-08-09 16:26:53 -06:00
Sage King 978b6a8724 Added comment explaining obscure folding syntax in NetPlayServer.cpp 2022-08-09 16:26:53 -06:00
Sage King a12099404e Added SendResponseToAllPlayers() and SendResponseToPlayer() to NetPlayServer.cpp and refactored OnConnect to use them 2022-08-09 16:26:52 -06:00
Sage King 477c20e28d Updated comment explaining enet_peer_timeout's use in NetPlayClient.cpp and NetPlayServer.cpp; Corrected syntax related to PEER_TIMEOUT in NetplayClient.cpp 2022-08-09 16:26:52 -06:00
Sage King 2f367d7a9b Updated PEER_TIMOUT in NetPlayCommon.h to use chrono literals; Updated NetPlayServer.cpp OnConnect() by putting commonly used code into named functions 2022-08-09 16:26:52 -06:00
Sage King d81756e9b9 Refactored parameter to OnConnect() in NetPlayServer.cpp from rpac to received_packet 2022-08-09 16:26:51 -06:00
Sage King 9d14d95737 Removed code duplicating comments in NetPlayServer.cpp OnConnect() 2022-08-09 16:26:51 -06:00
Sage King 5dea8aaed0 Added initializer braces to Client player; in NetPlayServer.cpp OnConnect() 2022-08-09 16:26:50 -06:00
Sage King d11df2b700 Refactored variable declared in NetPlayServer.cpp OnConnect() from npver to netplay_version 2022-08-09 16:26:50 -06:00
Mai c2dd58c361
Merge pull request #10959 from JosJuice/frsp-subnormal
Interpreter: Fix rounding edge case in frsp
2022-08-09 18:17:21 -04:00
Mai e9e2c741a2
Merge pull request #10953 from JosJuice/aarch64-add-encoding
Arm64Emitter: Fix encoding of size for ADD (vector)
2022-08-09 18:13:50 -04:00
Zopolis4 e54818e60d
Resolve "implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20" warning 2022-08-08 11:25:19 +10:00
Zopolis4 e2aefe13a6
Restrict OpenSLES to Android via CMake 2022-08-08 09:18:36 +10:00
Scott Mansell 4c2d707538
Merge pull request #10940 from InvoxiPlayGames/ipc-discord
Add Discord presence ioctlv to /dev/dolphin
2022-08-08 08:11:42 +12:00
askew-etc 914f38753a Add hotkeys for incrementing/decrementing selected state slot (like RetroArch) 2022-08-07 12:20:09 -05:00
Shawn Hoffman 6e94c20abd add TODO for chrono in GetLocalTimeSinceJan1970 2022-08-06 22:25:30 -07:00
Shawn Hoffman 292724b228 Revert "msvc: use std::chrono for GetLocalTimeSinceJan1970"
This reverts commit 86da6c98fb.
2022-08-06 22:22:14 -07:00
Shawn Hoffman 9bb8315441 ResourcePack: dont scan for individual files
walking the zip prevents minizip from re-reading the same
data repeatedly from the actual backing filesystem.
also improves most usages of minizip to allow for >4GB,
files altho we probably don't need it
2022-08-06 15:38:46 -07:00
iwubcode 637dca680c VideoCommon: update ubershader pixel to not enforce d3d when writing color output that has been defined as uints 2022-08-06 16:08:58 -05:00
iwubcode 05135b4f43 VideoCommon: fix uint shader compiler error in specialized shaders. This error is in renderers that use uint for their color output (for logic ops). Remove D3D check for uint output since other backends could use uint output as well. 2022-08-06 16:08:58 -05:00
Dentomologist 02cd4ecf7d Core: Use std::chrono time_since_epoch 2022-08-06 13:28:28 -07:00
Dentomologist ff26f6435e Use structured binding for pair values
dir_path is used by PanicAlertFormatT, which prior to PR 10209 used a
lambda. Before c++20, referring to structured bindings in lambda captures
was forbidden. The problem is now doubly fixed, so put the structured
binding back in.
2022-08-06 13:28:28 -07:00
iwubcode 0b5f7d2c5f VideoCommon: fix graphics target not properly setting 'draw_started' texture names for efb/xfb 2022-08-06 12:01:33 -05:00
JosJuice c5d9514cd9 Interpreter: Fix rounding edge case in frsp
Fixes the Dolphin bug mentioned in
https://github.com/dolphin-emu/hwtests/issues/45.

Because this doesn't fix any observed behavior in games (no, 1080°
Avalanche isn't affected), I haven't implemented this in the JITs,
so as to not cause unnecessary performance degradations.
2022-08-06 18:54:19 +02:00
InvoxiPlayGames f9e39cf200 Add Discord presence ioctlv to /dev/dolphin 2022-08-06 07:32:29 +01:00
Shawn Hoffman 3ca673a675 WiiSave: protect against a stack buffer overflow 2022-08-05 17:24:03 -07:00
Tilka 3595c8b295
Merge pull request #10952 from JosJuice/bitutils-remove-unused
Common: Remove unused stuff from BitUtils.h
2022-08-05 21:08:02 +01:00
JosJuice 52661dcc76 Arm64Emitter: Fix encoding of size for ADD (vector)
This was causing a bug in the rounding of paired single multiplication
operands. If Force25BitPrecision was called for quad registers, the
element size of its ADD instruction would get treated as if it was 16
instead of the intended 64, which would cause the result of the
calculation to be incorrect if the carry had to pass a 16-bit boundary.

Fixes one of the two bugs reported in
https://bugs.dolphin-emu.org/issues/12998.
2022-08-05 21:49:28 +02:00
JosJuice c00008e3cd Common: Remove unused stuff from BitUtils.h 2022-08-05 17:54:51 +02:00
Tillmann Karras b8e64b1f43 AX: fix comments and variable names (NFC)
This command does not upload the MAIN buffers to CPU memory. This was
functionally fixed in f11a40f858 without
updating the comments and variable names.
2022-08-05 15:00:17 +01:00
Scott Mansell ebf95370ef
Merge pull request #10946 from Pokechu22/remove-iLog
VideoCommon: Remove old iLog field
2022-08-05 22:42:09 +12:00
JosJuice 939fa1ed1c
Merge pull request #10941 from shuffle2/crypto-cleanup
Crypto cleanup
2022-08-05 12:12:34 +02:00
Zopolis4 b9b7ff6e25
Update supportedOS values in .manifest files 2022-08-05 10:26:22 +10:00
Tilka e638bb658f
Merge pull request #10945 from Pokechu22/vulkan-source-file-name
Vulkan: Call setSourceFile in addition to addSourceText
2022-08-05 00:03:25 +01:00
Pokechu22 354530cf61 VideoCommon: Remove old iLog field
Prior to 7854bd7109, this was used by the debugger for the OpenGL and D3D9 plugins to control logging (via PRIM_LOG and INFO_LOG/DEBUG_LOG in VideoCommon code; PRIM_LOG was changed in 77215fd27c), and also framedumping (removed in 64927a2f81 and 2d8515c0cf), shader dumping (removed in 2d8515c0cf and this commit), and texture dumping (removed in 54aeec7a8f). Apart from shader dumping, all of these features have modern alternatives, and shader source code can be seen in RenderDoc if "Enable API Validation Layers" is checked (which also enables source attachment), so there's no point in keeping this around.
2022-08-04 15:49:39 -07:00
Pokechu22 20a2a2174d Vulkan: Call setSourceFile in addition to addSourceText 2022-08-04 15:09:12 -07:00
Admiral H. Curtiss 5508c52a95
Merge pull request #10932 from JosJuice/nfs
DiscIO: Add support for the NFS format
2022-08-04 22:20:08 +02:00
JosJuice 6fc3bbbdd9 DiscIO/VolumeVerifier: Add a note about NFS bad dumps 2022-08-04 22:01:00 +02:00
JosJuice 02e3125f23 DiscIO/VolumeVerifier: Small logic cleanup
Just for ease of reading. No behavioral difference.
2022-08-04 22:00:59 +02:00
JosJuice 40a4eb3893 DiscIO: Adjust GetDataSizeType logic for NFS 2022-08-04 22:00:59 +02:00
JosJuice a87dffe52d DiscIO: Replace IsDataSizeAccurate with GetDataSizeType
Previously, we had WBFS and CISO which both returned an upper bound
of the size, and other formats which returned an accurate size. But
now we also have NFS, which returns a lower bound of the size. To
allow VolumeVerifier to make better informed decisions for NFS, let's
use an enum instead of a bool for the type of data size a blob has.
2022-08-04 22:00:59 +02:00
JosJuice 3a6df63e9b DiscIO: Add support for the NFS format
For a few years now, I've been thinking it would be nice to make Dolphin
support reading Wii games in the format they come in when you download
them from the Wii U eShop. The Wii U eShop has some good deals on Wii
games (Metroid Prime Trilogy especially is rather expensive if you try
to buy it physically!), and it's the only place right now where you can
buy Wii games digitally.

Of course, Nintendo being Nintendo, next year they're going to shut down
this only place where you can buy Wii games digitally. I kind of wish I
had implemented this feature earlier so that people would've had ample
time to buy the games they want, but... better late than never, right?

I used MIT-licensed code from the NOD library as a reference when
implementing this. None of the code has been directly copied, but
you may notice that the names of the struct members are very similar.
c1635245b8/lib/DiscIONFS.cpp
2022-08-04 22:00:58 +02:00
JosJuice bb27d4cc95 DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed"
Needed for the next commit. NFS disc images are hashed but not encrypted.

While we're at it, also get rid of SupportsIntegrityCheck.
It does the same thing as old IsEncryptedAndHashed and new HasWiiHashes.
2022-08-04 20:29:22 +02:00
Pokechu22 8129874d11 Sanitize and use increased precision when normalizing light directions
This normalization was added in 02ac5e95c8, and changed to use floats in 4bf031c064.  The conversion to floats means that sometimes there is insufficient precision for the normalization process, which results in values of NaN or infinity.  Performing the whole process with doubles prevents that, but games also sometimes set the values to NaN or infinity directly (possibly accidentally due to the values not being initialized due to them not being used in the current configuration?).

The version of Mesa currently in use on FifoCI (20.3.5) has issues with NaN.  Although this bug has been fixed (b3f3287eac in 21.2.0), FifoCI is stuck with the older version.

This change may or may not be incorrect, but it should result in the same behavior as already present in Dolphin, while working around the Mesa bug.
2022-08-04 08:52:44 -07:00
Mai f59f1a2a35
Merge pull request #10740 from Tilka/cxx20
Move to C++20 for non-MSVC compilers
2022-08-04 09:31:31 -04:00
Tilka 3ad6e3abc2
Merge pull request #10768 from Pokechu22/dsp-hle-gba-class
DSPHLE: Eliminate global state in GBA and AX uCode + accuracy improvements
2022-08-04 13:50:30 +01:00
Tilka 8105d0034d
Merge pull request #10821 from Pokechu22/dimar-masking
DVDInterface: Mask upper bits of DIMAR in GC mode
2022-08-04 12:50:49 +01:00
Pokechu22 bf70026728 DSPHLE: Require implementing DoState
CARDUCode, GBAUCode, and INITUCode previously didn't have an implementation of it. In practice it's unlikely that this caused an issue, since these uCodes are only active for a few frames at most, but now that GBAUCode doesn't have global state, we can implement it there. I also implemented it for CARDUCode, although our CARDUCode implementation does not have all states handled yet - this is simply future-proofing so that when the card uCode is properly implemented, the save state version does not need to be bumped. INITUCode does not have any state to save, though.
2022-08-03 17:32:12 -07:00
Pokechu22 f2e833b5c4 DSPHLE: Eliminate global state in AX uCode
This also increases accuracy as to when specific mail is allowed, and correctly handles masking of the 0xCDD1 mails.
2022-08-03 17:32:12 -07:00
Pokechu22 8d66c29f33 DSPHLE: Eliminate global state in GBA uCode + accuracy improvements
The accuracy improvements are:

* The request mail must be 0xabba0000 exactly; both the low and high parts are checked
* The address is masked with 0x0fffffff
* Before, the global state meant that after the GBA uCode had been used once, it would accept 0xcdd1 commands immediately. Now, it only accepts them after execution has finished.
2022-08-03 17:32:12 -07:00
Pokechu22 8b65e84121 DSPHLE: Make all uCode implementations final classes
(Apart from AXUCode, which is inherited by AXWiiUCode.)
2022-08-03 17:32:12 -07:00
Mai b02653722d
Merge pull request #10856 from JosJuice/android-tv-user-data-2
Android: Add divider to landscape version of User Data activity
2022-08-03 20:24:54 -04:00
Mai 4617ee7d89
Merge pull request #10787 from JosJuice/channel-uri
Android: Add app link intent URI to channels projection
2022-08-03 20:21:45 -04:00
Mai 098fc8cadc
Merge pull request #10790 from JosJuice/android-wii-controller-magic
Android: Refactor reading "wiiController" preference
2022-08-03 20:21:11 -04:00
Mai 27669fc7c8
Merge pull request #10828 from JosJuice/jitarm64-32-bit-exception
JitArm64: Pass 32-bit temp GPR to WriteConditionalExceptionExit
2022-08-03 14:36:19 -04:00
Mai a8b2174ce6
Merge pull request #10872 from shuffle2/timer
Timer improvements
2022-08-03 14:30:29 -04:00
Mai 173337104f
Merge pull request #10919 from JosJuice/android-wait-on-fab-click
Android: Use AfterDirectoryInitializationRunner on FAB press
2022-08-03 14:22:42 -04:00
Mai 385764ebe0
Merge pull request #10913 from shuffle2/vsnext
msvc: fix issues with vs 17.3
2022-08-03 14:21:53 -04:00
Mai ebb8402a24
Merge pull request #10934 from sepalani/bba-igmp
BBA/BuiltIn: Add minimal IGMP support
2022-08-03 14:17:41 -04:00
Mai f93b04dc94
Merge pull request #10935 from Pokechu22/icache-dont-save-lookup-table
PPCCache: Stop storing lookup table in savestates
2022-08-03 14:14:39 -04:00
Minty-Meeo 347dd03c3f Remove Vestigial Preprocessor Block in Jit64/Jit.cpp
"Common/GekkoDisassembler.h" became used by Release builds with commit 77e9aa48bc, but this got left in by mistake.
2022-08-03 12:30:20 -05:00
Shawn Hoffman bf5076eb01 crypto/sha1: add real workaround for msvc/arm64 bad codegen 2022-08-02 23:05:45 -07:00
Shawn Hoffman 78142e30cc crypto/sha1: simplify enablement of sha insns on non-msvc 2022-08-02 23:05:07 -07:00
Shawn Hoffman 4e6aa28da4 crypto/aes: silence warning on godforsaken android gcc 2022-08-02 23:03:51 -07:00
Shawn Hoffman 403f3693da NetPlay: use sha1 instead of md5 2022-08-02 22:25:05 -07:00
Shawn Hoffman c7ce035a7f NetPlay: rename md5 -> game digest 2022-08-02 22:25:05 -07:00
Shawn Hoffman ec9b30681b msvc: silence warning in qt header 2022-08-02 22:24:33 -07:00
Shawn Hoffman bdf3a03c04 DolphinQt: fix BootSessionData dtor not being called
std::unique_ptr can't/won't call deleter on incomplete type
generated warning on vs 17.3.0 preview 5.0
2022-08-02 22:24:33 -07:00
Shawn Hoffman 683f7f7210 msbuild: tidy up the linked libs 2022-08-02 22:24:22 -07:00
Shawn Hoffman c5da2877cc msbuild: refactor to reduce rebuild events
* moves dolphin-specific settings out of Base.props
* creates exports.props for externals, allowing to easily import
  individual Externals
* corrects some cruft that accumulated and probably contributed
  to msbuild overbuilding
2022-08-02 22:24:22 -07:00
Shawn Hoffman fec61f89a3 Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
Shawn Hoffman 0fe99e9bc8 ThrottleCallback: correct units in log
make first invocation a bit more correct
2022-08-02 22:24:06 -07:00
Shawn Hoffman 86da6c98fb msvc: use std::chrono for GetLocalTimeSinceJan1970 2022-08-02 22:24:06 -07:00
Shawn Hoffman b473c35873 windows: mark as HighQoS, ensure timer resolution is honored 2022-08-02 22:24:06 -07:00
Shawn Hoffman 3384b1385e move "double time" code into State from Timer
Ideally the statesave format could be changed
to just store a u64 in the future
2022-08-02 22:24:06 -07:00
Shawn Hoffman 49218f9695 DolphinDevice: expose elapsed ms in GetSystemTime 2022-08-02 22:24:06 -07:00
Shawn Hoffman 09089eeee0 Common::Timer: use chrono::steady_clock internally 2022-08-02 22:24:06 -07:00
Shawn Hoffman 8d16971a6f LogManager: use own timestamp function 2022-08-02 22:24:05 -07:00
Shawn Hoffman d71797154a VolumeVerifier: enable fast hash functions by default
sets defaults based on cpu support.
2022-08-02 22:23:49 -07:00
Tilka 7d2d5d914b
Merge pull request #10903 from shuffle2/hash-reorg
Common/Hash: use zlib-ng for adler32. small cleanups.
2022-08-02 18:29:04 +01:00
Tilka e62ceab349
Merge pull request #10902 from shuffle2/aes
Implement hw accelerated AES
2022-08-02 18:28:47 +01:00
Pokechu22 134397754e PPCCache: Stop storing lookup table in savestates
These lookup tables total 4 megabytes, and contain data that's entirely redundant to the actual cache state (as part of an optimization, though I'm not sure whether the optimization actually is useful). This change instead recomputes these lookup tables when loading the state (which involves filling the lookup table with a marker (0xff), and then setting the 128 * 8 valid entries (1 kilobyte)).
2022-08-01 16:36:59 -07:00
Shawn Hoffman 17c554c165 Common/Hash: use zlib-ng for adler32. small cleanups. 2022-08-01 10:07:27 -07:00
Shawn Hoffman 46ad8b9d68 Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
Sepalani 4fa65ec9cf BBA/BuiltIn: Add minimal IGMP support 2022-08-01 12:49:38 +04:00
Sepalani bfc2d11891 BBA/BuiltIn: Simplify HandleARP 2022-08-01 12:48:33 +04:00
Sepalani 7e9711d738 BBA/BuiltIn: Rename m_fake_mac to m_router_mac 2022-08-01 12:48:32 +04:00
Sepalani b029b468cd BBA/BuiltIn: Fix MAC address issues with TCP and UDP 2022-08-01 12:48:32 +04:00
Sepalani cc7cfe249e BBA/BuiltIn: Move TryGetDataFromSocket 2022-08-01 12:48:32 +04:00
Sepalani 0f5fe2274a BBA/BuiltIn: Save current MAC address 2022-08-01 12:48:32 +04:00
Sepalani ec60416c00 BBA/BuiltIn: Add an ARP table 2022-08-01 12:48:32 +04:00
Tilka fb45ed3981
Merge pull request #10883 from Pokechu22/pi-fifo-reset-gp-fifo
ProcessorInterface: Reset both GPFifo and Fifo on PI_FIFO_RESET
2022-07-31 17:06:37 +02:00
Tilka 2c754db3ab
Merge pull request #10912 from shuffle2/msbuild-arch
msbuild: set PreferredToolArchitecture based on host OS arch
2022-07-31 16:33:29 +02:00
Tilka 45f8ae6d51
Merge pull request #10926 from shuffle2/old-gcc-warning
SHA1/arm64: fix casting warning on certain gcc
2022-07-31 16:31:35 +02:00
Tillmann Karras d033d92b05 Move to C++20 for non-MSVC compilers 2022-07-30 23:35:53 +01:00
Admiral H. Curtiss 92c7566646
Merge pull request #10924 from Pokechu22/symbols-missing-last-function
PPCSymbolDB: Fix getting symbol for the last function
2022-07-30 21:52:10 +02:00
Shawn Hoffman 97ff757a74 SHA1/arm64: fix casting warning on certain gcc 2022-07-30 12:06:21 -07:00
Shawn Hoffman e85da16947 msbuild: set PreferredToolArchitecture based on host OS arch 2022-07-30 11:01:47 -07:00
JosJuice ecc4bc5098
Merge pull request #10925 from AdmiralCurtiss/ppc-state-hle-print
HLE_OS: Don't modify emulated state in printf hooks.
2022-07-30 19:49:18 +02:00
Admiral H. Curtiss 2a56113a5b
Merge pull request #10898 from Pokechu22/dsp-hle-homebrew-padding
DSPHLE: Support padded versions of libasnd and libaesnd uCodes
2022-07-30 14:21:28 +02:00
Admiral H. Curtiss a9d9f5c0da
Merge pull request #10899 from shuffle2/sha1
add hw-accelerated SHA1
2022-07-30 14:11:37 +02:00
Admiral H. Curtiss b364a301dc
HLE_OS: Don't modify emulated state in printf hooks, since the actual PPC function will be called afterwards. 2022-07-30 14:06:28 +02:00
Admiral H. Curtiss 4b6ad977c6
Merge pull request #10922 from Pokechu22/apploader-hle-no-replace
Boot_BS2Emu: Create an actual function for AppLoaderReport
2022-07-30 14:05:58 +02:00
Pokechu22 1f17a3bb1e PPCSymbolDB: Fix getting symbol for the last function 2022-07-29 18:41:11 -07:00
Pokechu22 e97ad90681 Boot/ElfReader: Log to BOOT log instead of MASTER log 2022-07-29 12:18:05 -07:00
Pokechu22 7a7a3a7f41 Boot_BS2EMU: Log apploader-related messages to BOOT log instead of MASTER log 2022-07-29 12:17:09 -07:00
Pokechu22 d3d7cc6f96 Boot_BS2Emu: Create an actual function for AppLoaderReport
Before, we used a replace hook and didn't write anything there. Now, we write a BLR instruction to immediately return, and then use a start hook. This makes the behavior a bit clearer (though it shoudln't matter in practice).
2022-07-29 12:16:20 -07:00
Sepalani 18b8f147ab BBA/BuiltIn: Ensure UDP ports are open 2022-07-29 21:25:17 +04:00
JMC47 a81f3a95db
Merge pull request #10917 from sepalani/bba-ntohs
BBA/BuiltIn: Fix network byte order issues
2022-07-29 13:19:25 -04:00
JosJuice bab327eafa Android: Use AfterDirectoryInitializationRunner on FAB press
Without this, if the user finishes selecting a directory before
directory initialization finishes, MainPresenter.onDirectorySelected
will segfault when trying to read the MAIN_RECURSIVE_ISO_PATHS setting.

An alternative would be to use AfterDirectoryInitializationRunner
after the user selects the directory instead of before, but it might
be confusing for the user to deal with the usage statistics prompt
when they were expecting to add a folder.
2022-07-29 16:20:34 +02:00
JMC47 ae4fa53a9c
Merge pull request #10914 from JMC47/bbarename
BBA - Rename Built In BBA to BBA (HLE)
2022-07-29 10:16:51 -04:00
JMC47 205d78d780 BBA - Rename BBA Built In to BBA (HLE)
All of our BBA options are technically built in, so it made the BBA
Built In option kind of confusing as to what it did.  So rename it to
BBA HLE to make it more clear what it is doing and why it doesn't need a
TAP.
2022-07-29 10:06:44 -04:00
Sepalani 2de4d52021 BBA/BuiltIn: Fix network byte order issues 2022-07-29 11:33:36 +04:00
JMC47 3bf1ddc549
Merge pull request #10730 from AdmiralCurtiss/riivolution-sysfile-patches
Riivolution: Add custom extension to patch boot.bin, bi2.bin, and apploader.img.
2022-07-28 20:29:31 -04:00
Admiral H. Curtiss 000c9c7545
Merge pull request #10907 from shuffle2/pngend
SavePNG: make sure to finalize image file
2022-07-28 19:28:00 +02:00
Shawn Hoffman 25462f4a3c SavePNG: make sure to finalize image file 2022-07-28 10:12:36 -07:00
Mai e10d66270f
Merge pull request #10909 from JosJuice/volume-verifier-read-succeeded
VolumeVerifier: Fix read_succeeded condition
2022-07-28 12:05:03 -04:00
JosJuice 14c1a1c658 VolumeVerifier: Fix read_succeeded condition
We shouldn't set m_read_errors_occurred to true just because
is_data_needed was false.
2022-07-28 09:57:17 +02:00
Scott Mansell 1ea0c7752e
Merge pull request #10897 from Hibyehello/LogManager-Fix
LogManager: Dynamically get last log type
2022-07-28 11:54:22 +12:00
Shawn Hoffman f8b9034a28 Crypto/SHA1: add unittests 2022-07-27 01:07:48 -07:00
Shawn Hoffman 8939210d8a Common/Crypto/SHA1: implement accelerated versions 2022-07-27 01:07:48 -07:00
Shawn Hoffman bfa2a66c98 WIABlob: remove outdated mbedtls workaround 2022-07-26 22:16:37 -07:00
Shawn Hoffman dd29a54cf6 introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
Pokechu22 cc02471da2 DSPHLE: Support padded versions of the libaesnd uCode
This is used by libogc2 and libogc-rice.
2022-07-26 19:06:05 -07:00
Pokechu22 33b63a62d1 DSPHLE: Support padded version of libasnd uCode
This is used by libogc2 and libogc-rice.
2022-07-26 18:44:08 -07:00
Josh 7e75bcd36f
Use Dynamic last Log Type 2022-07-27 00:07:53 +02:00
Pokechu22 7a03b1fe16 UnitTests: Fix warnings from HermesText
Most of these correspond to changes made in devkitPro/libogc@b1b8ecab3a.

The numeric vlaues of ACC0 and ACC1 in Dolphin are different (see b06d38389b, though I'm not sure when this difference first appeared). Technically it's not even necessary to list the registers at the start like this anymore, but old programs do it, so it seems useful to have a test that covers it.

The binary itself does not need to be changed; the warnings were simply stating that "although you wrote $ACL0, the generated binary instead is using $ACC0" or similar; by changing the code to use $ACC0 directly the warnings are resolved.
2022-07-26 11:52:31 -07:00
JosJuice 97100290ee
Merge pull request #10885 from JosJuice/android-graphics-mods
Android: Add graphics mods support to GUI
2022-07-26 15:44:01 +02:00
Admiral H. Curtiss a9edf129e3
Merge pull request #10889 from shuffle2/spng
replace libpng with libspng
2022-07-26 12:53:04 +02:00
Admiral H. Curtiss 6b419c7ca3
Merge pull request #10876 from shuffle2/cpudetect
CPUDetect: improve win/arm64 support
2022-07-26 12:52:50 +02:00
Admiral H. Curtiss 9d15a1c5a1
Merge pull request #10858 from AdmiralCurtiss/mouse-center-hotkey
Add hotkey for centering mouse in render window.
2022-07-26 12:52:33 +02:00
Admiral H. Curtiss c7752f80e4
Merge pull request #10892 from Pokechu22/dsp-hle-aesnd-more-versions
DSPHLE: Support EDuke32 Wii libaesnd uCode
2022-07-26 11:36:18 +02:00
CasualPokePlayer bd27e18d51
Fix ARAM Expansion Writes
Looks like the memcpy here had its args in the wrong order.
2022-07-26 02:01:25 -07:00
Shawn Hoffman 76b4318b88 CPUDetect: improve win/arm64 support
read brand_string on macos/arm64
remove unused flags
report family/model info instead of vendor name
2022-07-25 21:21:11 -07:00
Pokechu22 1dcccb1f75 DSPHLE: Add warning to use of MAIL_TERMINATE 2022-07-25 20:35:43 -07:00
Pokechu22 e44b596f50 DSPHLE: Fix typos in libaesnd logging 2022-07-25 20:35:43 -07:00
Pokechu22 58d344e189 DSPHLE: Support EDuke32 Wii libaesnd uCode
This version is exclusive to EDuke32 Wii (see https://bugs.dolphin-emu.org/issues/12990).
2022-07-25 20:35:41 -07:00
Pokechu22 a6d08571bd DSPHLE: Move aesnd uCode hash constants into header 2022-07-25 20:32:02 -07:00
Pokechu22 4b179e01da DSPHLE: Move asnd uCode hash constants into header 2022-07-25 20:31:04 -07:00
Shawn Hoffman f92541fbd9 StripSpaces: only strip spaces
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Shawn Hoffman acb10f0006 replace libpng with libspng 2022-07-25 18:32:16 -07:00
Admiral H. Curtiss e4ff49769c
Merge pull request #10888 from shuffle2/zlib-ng
replace zlib with zlib-ng
2022-07-26 02:25:17 +02:00
JMC47 bfd03cd1a4
Merge pull request #10793 from Pokechu22/dsp-hle-aesnd
DSPHLE: Add HLE version of libaesnd ucode
2022-07-25 05:12:53 -04:00
JosJuice 86bb290cc5
Merge pull request #10886 from OatmealDome/metal-minor-fixes
Metal: Prevent usage of macOS-only APIs on non-macOS platforms
2022-07-25 08:31:18 +02:00
Admiral H. Curtiss d14bd10cd7
Quartz: Handle mouse centering hotkey.
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2022-07-25 01:26:57 +02:00
Admiral H. Curtiss e0870166ef
XInput2: Handle mouse centering hotkey. 2022-07-25 01:26:56 +02:00
Admiral H. Curtiss d57d04bb04
DInput: Handle mouse centering hotkey. 2022-07-25 01:26:56 +02:00
Admiral H. Curtiss 4d27022d0e
Add hotkey for centering mouse in render window. 2022-07-25 00:59:47 +02:00
Shawn Hoffman b2f8456710 msbuild: set C standard to C17
not required but it seems nice
2022-07-24 14:33:37 -07:00
Shawn Hoffman c3b64012d1 replace zlib with zlib-ng
since the benefits are so high, don't link with shared zlib
2022-07-24 14:33:37 -07:00
OatmealDome 700162b8bd MTLUtil: Include TargetConditionals 2022-07-23 17:22:11 -04:00
OatmealDome 77f44f1600 MTLMain: Include TargetConditionals 2022-07-23 17:22:11 -04:00
OatmealDome b32b27ae9a MTLMain: Only compile NSView manipulation code on macOS 2022-07-23 17:22:04 -04:00
JosJuice e5a177ece9
Merge pull request #10868 from tellowkrinkle/UsesDSBFix
VideoCommon: Fix IsDualSrc check for dst blend factors
2022-07-23 22:14:07 +02:00
JosJuice 3bd2bca385 Android: Add warning if graphics mods are not enabled 2022-07-23 21:58:45 +02:00
JosJuice 8f410bff15 Android: Add graphics mods support to CheatsActivity 2022-07-23 21:58:45 +02:00
OatmealDome 8ad7fa0313 MTLUtil: Return invalid for non-supported texture formats on non-macOS platforms 2022-07-23 13:53:31 -04:00
OatmealDome 7edd3aff75 MTLUtil: Don't attempt to get all GPUs on non-macOS platforms 2022-07-23 13:53:22 -04:00
OatmealDome 50d3ad58df CMakeLists: Link videometal with Foundation 2022-07-23 13:53:15 -04:00
Pokechu22 6a7aa8f2c6 Convert CP/XF matrix indices mismatch panic alert to a warning
https://bugs.dolphin-emu.org/issues/12977 indicates that this happens on startup of Spider-Man 2, even in single-core. I don't have the game, so I can't directly determine why this is happening, but presumably real hardware does not hang in this case, so we can make it less obtrusive.
2022-07-23 09:01:22 -07:00
JosJuice 45f6d36c45 Android: Split AbstractCheat into ReadOnlyCheat and AbstractCheat
ReadOnlyCheat will be used by graphics mods.
2022-07-23 17:21:52 +02:00
JosJuice 41a26f76fa Android: Add Cheat.supportsCode method
Patches, AR codes and Gecko codes have an associated code that the GUI
can show, but graphics mods don't.
2022-07-23 17:21:46 +02:00
JosJuice 98e2817802 Android: Add setting for enabling graphics mods 2022-07-23 17:21:45 +02:00
JMC47 3d7b66bcfc
Merge pull request #10861 from JosJuice/android-new-sd
Android: Bring SD card settings up to date with DolphinQt
2022-07-23 07:59:19 -04:00
JosJuice a20d0e31d6 Android: Bring SD card settings up to date with DolphinQt 2022-07-23 13:28:34 +02:00
JosJuice c0cf6f04dd Android: Add "Broadband Adapter (Built In)" to settings
This makes the feature added in 01ada3850f available in the Android GUI.
2022-07-23 11:33:03 +02:00
JMC47 89c4fdeeea
Merge pull request #10754 from tellowkrinkle/Metal
VideoBackends: Add Metal backend
2022-07-23 01:57:35 -04:00
Pokechu22 5bbdf7ae15 ProcessorInterface: Reset both GPFifo and Fifo on PI_FIFO_RESET
Fixes https://bugs.dolphin-emu.org/issues/12981
2022-07-22 22:22:34 -07:00
Pokechu22 97412553f9 Add a more detailed comment about SPR_WPAR's BNE bit 2022-07-22 22:22:34 -07:00
Pokechu22 c06f203e98 MMU: Clarify masking on gather pipe address 2022-07-22 22:22:34 -07:00
Pokechu22 1c833ddc3c Create constant for GPFifo physical address 2022-07-22 22:22:33 -07:00
Pokechu22 b76f4dd5f8 ProcessorInterface: Remove unused fields 2022-07-22 22:20:26 -07:00
TellowKrinkle 6559c6b8ee VideoBackends:Multiple: Grammar fixes 2022-07-21 20:44:19 -05:00
TellowKrinkle a41345127f VideoBackends:Metal: Remove unified memory config
Not worth the extra code
2022-07-21 20:44:19 -05:00
TellowKrinkle 5065767abd VideoBackends:Metal: Avoid submitting draw calls with no vertices/indices 2022-07-21 20:44:19 -05:00
TellowKrinkle ee3f2b8fcb VideoBackends:Metal: Implement PerfQuery 2022-07-21 20:44:19 -05:00
TellowKrinkle c48035908c VideoBackends:Metal: Use unified memory path by default on all GPUs 2022-07-21 20:44:19 -05:00
TellowKrinkle 6ee0248eab VideoBackends:Metal: MSAA support 2022-07-21 20:44:19 -05:00
TellowKrinkle c0fd128171 VideoBackends:Metal: Use base vertex 2022-07-21 20:44:19 -05:00
TellowKrinkle 5742ccf8de VideoBackends:Metal: Cache pipelines
Metal pipelines hold less stuff than Dolphin pipelines, so duplicates will appear
2022-07-21 20:44:19 -05:00
TellowKrinkle e32213d031 VideoBackends:Metal: Create samplers on demand 2022-07-21 20:44:19 -05:00
TellowKrinkle 61705b05da VideoBackends:Metal: FBFetch for Intel GPUs 2022-07-21 20:44:19 -05:00
TellowKrinkle a5ef9dfd53 VideoBackends:Metal: Use DriverDetails for bugs 2022-07-21 20:44:19 -05:00
TellowKrinkle 716c0980d7 VideoBackends: Add Metal renderer 2022-07-21 20:44:19 -05:00
Admiral H. Curtiss df399b0995
Merge pull request #10878 from Pokechu22/btreal-allow-libusb-descriptor-errors
BTReal: Treat libusb_get_string_descriptor_ascii failure as non-fatal warning
2022-07-22 02:00:13 +02:00
JosJuice 57f106d521
Merge pull request #10625 from codedwrench/xlink-kai-android-support
Android: XLink Kai Android UI option
2022-07-21 18:25:16 +02:00
codedwrench 98c688ee68 Android: XLink Kai Android UI option 2022-07-21 13:48:17 +02:00
Pokechu22 6eaa4a4e89 DSPHLE: Add HLE version of libaesnd ucode 2022-07-20 18:41:47 -07:00
Pokechu22 5e64f453ab DSPHLE/ASnd: Rename m_next_command_is_voice_addr to m_next_mail_is_voice_addr 2022-07-20 18:41:47 -07:00
Pokechu22 75ae3b7ec4 DSPHLE: Fix comment in libasnd uCode 2022-07-20 18:41:47 -07:00
Pokechu22 76fd0479b8 JitAsm: Remove old commented-out code
I'm not sure what the XMM0 check was supposed to be, but the 0xCC008000 one is for the fifo and is handled elsewhere now (look for `optimizeGatherPipe`).
2022-07-20 16:38:54 -07:00
Léo Lam e40be6e8fd
Merge pull request #10865 from JosJuice/volume-verifier-ios-case
VolumeVerifier: Ignore case when looking for IOS on update partition
2022-07-20 20:41:55 +01:00
Admiral H. Curtiss a1e8e60c4c
IOS: Add IOSC::KeyEntry::misc_data to savestate. 2022-07-20 21:32:44 +02:00
Pokechu22 a23a7f7b10 BTReal: Treat libusb_get_string_descriptor_ascii failure as non-fatal warning 2022-07-20 11:21:23 -07:00
JosJuice 01e4ce54c8 Android: Call WiimoteReal::InitAdapterClass before controller init
Should fix https://bugs.dolphin-emu.org/issues/12980.
2022-07-19 23:00:21 +02:00
Admiral H. Curtiss b0b5faa793
Merge pull request #10874 from JosJuice/cmpr-layout
VideoCommon: Fix CMPR compute shader layout
2022-07-19 12:05:29 +02:00
Admiral H. Curtiss ec3cfc01c1
DiscIO/DirectoryBlob: Add callback to modify sys files before they're added to the disc. 2022-07-19 00:55:04 +02:00
Admiral H. Curtiss cc315cb7af
DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
Admiral H. Curtiss f5c132580c
DiscIO/DirectoryBlob: Add ContentSource that stores data locally in std::vector. 2022-07-19 00:55:03 +02:00
Admiral H. Curtiss 9e5bc98496
DiscIO/RiivolutionPatcher: Skip main.dol patches if no main.dol was given. 2022-07-19 00:55:03 +02:00
Admiral H. Curtiss fa30ba18f5
Merge pull request #10783 from JosJuice/frontend-controller-init
Require frontend to initialize controllers
2022-07-19 00:50:32 +02:00
Admiral H. Curtiss dd67d5fbc4
Merge pull request #10871 from shuffle2/logging
logging improvements
2022-07-18 19:05:08 +02:00
JosJuice 1a2bc2eff9 VideoCommon: Fix CMPR compute shader layout
Looks like a copy-paste gone wrong. The compute shaders for the other
formats use a group size of 8 * 8, whereas the CMPR compute shader
is supposed to use a flattened 64 * 1 as I understand it.
2022-07-18 18:56:50 +02:00
Shawn Hoffman 28828435bb Qt/LogWidget: remove extra space 2022-07-18 09:52:54 -07:00
Shawn Hoffman 0a15d2fcec cubeb: fix logged source file paths 2022-07-18 09:52:54 -07:00
Shawn Hoffman ad3e202af0 vs likes caps for guids in sln 2022-07-17 23:42:05 -07:00
TellowKrinkle 88c85ce471 VideoCommon: Fix IsDualSrc check for dst blend factors 2022-07-17 20:50:53 -05:00
Joon Park 319288de8e Fix OpenGL error on M1 Mac.
Followup to #10466. Resolves the following error:

ERROR: 0:85: '&' does not operate on 'uvec3' and 'int'
2022-07-17 08:54:39 -04:00
JosJuice dabad82219 Require frontend to initialize controllers
We currently have two different code paths for initializing controllers:
Either the frontend (DolphinQt) can do it, or if the frontend doesn't do
it, the core will do it automatically when booting. Having these two
paths has caused problems in the past due to only one frontend being
tested (see de7ef47548). I would like to get rid of the latter path to
avoid further problems like this.
2022-07-17 14:03:04 +02:00
JosJuice 2f3c0cdbc5 Split out controller initialization to UICommon 2022-07-17 14:02:03 +02:00
JosJuice 81a20a1d74 VolumeVerifier: Ignore case when looking for IOS on update partition
One of the Dragon Quest X expansions (S4SJGD) uses lowercase instead of
the usual uppercase for the IOS59 file on its update partition.
2022-07-17 09:20:12 +02:00
CasualPokePlayer 581fd2b1e3 Fix SYSCONF movie settings
The movie config layer is not active for recording, only playback. Thus, recording ends up stuck with default SYSCONF settings.
The fix is simply to add in the movie config layer when recording. The way it's done is a bit hacky, but seems to work.
2022-07-16 23:16:35 -07:00
JMC47 70b0b03c3c
Merge pull request #10747 from tellowkrinkle/LateUIDFixup
Add a post-cache shader UID fixup pass
2022-07-17 00:43:16 -04:00
JMC47 f1d23ff9a4
Merge pull request #10466 from Pokechu22/efb-copy-gamma
Accurately handle the copy filter and gamma for EFB and XFB copies
2022-07-17 00:07:50 -04:00
Admiral H. Curtiss 2ef069e0e8
Merge pull request #10833 from sepalani/BBA-log
NetworkCaptureLogger: Add GameCube BBA support
2022-07-16 21:44:08 +02:00
JosJuice c2b32916aa Android: Add subheadings to Wii config 2022-07-16 11:40:51 +02:00
OatmealDome 2eecfc8595 WiiPane: Adjust capitalization of conversion buttons and alert titles 2022-07-16 04:08:55 -04:00
OatmealDome 60aaa308bf WiiPane: Trim automatic SD sync checkbox string 2022-07-16 04:00:26 -04:00
Pokechu22 a6e06f38ad Add notes about precision of YUV->RGB conversion factors for XFB 2022-07-16 00:07:10 -07:00
Pokechu22 2f43889141 Software: Use hardware-verified numbers for RGB->YUV conversion 2022-07-16 00:07:10 -07:00
Pokechu22 e7339d63f1 Rework TextureConversionShader for hardware accuracy and simplicity 2022-07-16 00:07:10 -07:00
Pokechu22 b16ec5b6dc Rework TextureConverterShaderGen for hardware accuracy and simplicity 2022-07-16 00:07:10 -07:00
Pokechu22 791bd16b28 Restructure parameters to TetxureConverterShaderGen/TextureConversionShader
This will be used for later refactoring for increased accuracy.
2022-07-16 00:07:10 -07:00
TellowKrinkle 89ae060214 VideoCommon: Increase uniform stream buffer size to 64mb
Densha De Go uses 27mb per frame, and we want enough space for the CPU to be encoding one frame while the GPU is rendering the previous
2022-07-15 18:21:50 -05:00
TellowKrinkle fb5648541c VideoCommon: Remove dstalpha from BlendingState
It's not supported by any PC graphics API, and therefore completely unused
2022-07-15 15:31:47 -05:00
TellowKrinkle 991024173e VideoCommon: Always use fbfetch in ubershaders if available
Reduce the number of different pipelines needed.  Also works around drivers that break when you combine fbfetch with dual source blending
2022-07-15 15:31:47 -05:00
Pokechu22 d20094efa2 Add extra Low and High fields to CopyFilterCoefficients
This struct is the only one in BPMemory that uses u64 as its base.  These fields are to allow viewing it as two u32s instead.  It's not used by Dolphin right now, but it is used in the copy of BPMemory.h used by hwtests.
2022-07-15 12:29:40 -07:00
Pokechu22 bed278d3b7 Create dedicated enum for EFB/XFB gamma correction
This also changes the behavior for the invalid gamma value, which was confirmed to behave the same as 2.2.

Note that currently, the gamma value is only used for XFB copies, even though hardware testing indicates it also works for EFB copies.  This will be changed in a later commit.
2022-07-15 12:29:40 -07:00
Pokechu22 dd41a72378 Only use intensity formats if both intensity_fmt and auto_conv are set
auto_conv is normally always set for EFB copies, but hardware testing indicates that intensity_fmt does nothing if auto_conv is not set.
2022-07-15 12:29:40 -07:00
Pokechu22 cd2cc5fa22 Rename EFB copy bit 2 from yuv to unknown_bit
It was named yuv in 522746b2c2, but hardware testing indicates that that bit does nothing (the intensity format bit enables YUV conversion, instead).
2022-07-15 12:29:40 -07:00
Pokechu22 850e524514 Use fmt::to_string for texture format overlay
This required adding parentheses to the font used by that.
2022-07-15 12:29:40 -07:00
Pokechu22 290e62f179 Remove casts to integers for texture and EFB formats
The only remaining casts for these types that I know of are in TextureInfo (where format_name is set to the int version of the format, and since that affects filenames and probably would break resource packs, I'm not changing it) and in TextureDecoder_Common's TexDecoder_DrawOverlay, which will be handled separately.
2022-07-15 12:29:40 -07:00
Admiral H. Curtiss 89067e66f9
InputCommon: Get rid of static strings. 2022-07-15 19:53:10 +02:00
JosJuice 4e7b0f2129 Android: Add divider to landscape version of User Data activity 2022-07-15 19:32:03 +02:00
Admiral H. Curtiss 537fe33997
Merge pull request #10843 from Pokechu22/freelook-background-input
Free Look: Add background input setting (disabled by default)
2022-07-14 19:08:29 +02:00
Admiral H. Curtiss a739f63d96
Merge pull request #10840 from AdmiralCurtiss/cmake-windows-sdl
Fix CMake Windows build after SDL merge.
2022-07-14 19:05:25 +02:00
TellowKrinkle 6ab24e6c17 VideoCommon: Better driver bug handling
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
2022-07-13 21:51:24 -05:00
JMC47 e237aa1435
Merge pull request #10777 from tellowkrinkle/EFBFlush
VideoCommon: Remember to flush command buffers after multiple EFB copies
2022-07-13 19:45:31 -04:00
Pokechu22 25aa30ac69 Free Look: Add background input setting (disabled by default)
Before, Free Look would accept background input by default, which means it was easy to accidentally move the camera while typing in another window. (This is because HotkeyScheduler::Run sets the input gate to `true` after it's copied the hotkey state, supposedly for other threads (though `SetInputGate` uses a `thread_local` variable so I'm not 100% sure that's correct) and for the GBA windows (which always accept unfocused input, presumably because they won't be focused normally).
2022-07-13 15:23:00 -07:00
JMC47 5663a44962
Merge pull request #10842 from tellowkrinkle/ClearBackendInfo
VideoCommon: Clear backend_info before populating
2022-07-13 16:40:46 -04:00
Admiral H. Curtiss bae715f396
Merge pull request #10838 from AdmiralCurtiss/volume-verifier-out-of-bounds-read
DiscIO/VolumeVerifier: Avoid out-of-bounds reads on trimmed Wii ISOs.
2022-07-13 18:49:24 +02:00
Admiral H. Curtiss 10407cc8c1
DiscIO/VolumeVerifier: Don't try to verify data that would read out of bounds. 2022-07-13 13:35:18 +02:00
JMC47 cb350aed53
Merge pull request #10841 from tellowkrinkle/FBFetchLogicOpMasking
VideoCommon: Properly mask fbfetch logic op emulation
2022-07-13 03:56:14 -04:00
TellowKrinkle f83015649c VideoCommon: Clear backend_info before populating 2022-07-13 02:55:54 -05:00
TellowKrinkle 6bd0fc86ba VideoCommon: Properly mask fbfetch logic op emulation 2022-07-13 02:27:45 -05:00
Admiral H. Curtiss e79c7d4985
InputCommon: Don't force-link against SDL2.lib on Windows. 2022-07-13 01:37:05 +02:00
Sepalani 76fe7b6497 NetworkCaptureLogger: Add GameCube BBA support 2022-07-12 13:35:49 +04:00
Admiral H. Curtiss 2d8d3358c4
FatFsUtil: Skip past entries with invalid filenames. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss de9c9f2281
FatFsUtil: Improve error handling and error reporting. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss d2910b5753
Qt: Add 'convert now' buttons for the SD card in the WiiPane. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss f40eeebcf0
FatFsUtil: Add some path traversal attack protection when unpacking. 2022-07-11 23:11:42 +02:00
Admiral H. Curtiss a621fdf857
Core: In deterministic mode, build SD cards with a consistent filename order and dummy timestamps. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss 1d12e95404
Qt: Put Wii SD card path and SD sync folder fields in the WiiPane. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss a5b1bfef68
Common: Change default path for Wii SD cards to not be inside the Wii NAND. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss 4bf75c950b
Qt/WiiPane: Add checkbox for SD card folder syncing. 2022-07-11 23:11:41 +02:00
Admiral H. Curtiss 77d4591fb4
Core: If configured, sync SD card image with SD card folder on emulation start and end.
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:41 +02:00
Admiral H. Curtiss b66cc1caf6
Config and UICommon: Add config option and user path for Wii SD card sync folder. 2022-07-11 23:11:40 +02:00
Admiral H. Curtiss 96751c4457
Treewide: Rename references to SD Card image path to clarify they mean the image file, not the folder. 2022-07-11 23:11:40 +02:00
Admiral H. Curtiss fdc327c252
Externals/FatFs: Build as part of Dolphin.
Co-authored-by: Pablo Stebler <pablo@stebler.xyz>
2022-07-11 23:11:37 +02:00
Admiral H. Curtiss 32523f155b
Merge pull request #10825 from Rudolchr/fix_build_with_libfmt-9
MsgHandler: Add a check for libfmt version to fix build with libfmt-9
2022-07-11 23:02:08 +02:00
Admiral H. Curtiss 20059776d9
Merge pull request #10831 from sepalani/BBA-cleanup
Common/Network+BBA/Builtin: Cleanup
2022-07-11 23:00:21 +02:00
JMC47 b2be9b40cc
Merge pull request #10561 from shuffle2/sdl-motion
ControllerInterface: Add support for motion and rumble to SDL backend
2022-07-11 16:28:30 -04:00
Pokechu22 6cc8adb3ae DVDInterface: Mask upper bits of DIMAR in GC mode
The masking was removed in d3aad1d6d5, based on a Wii hardware test. Based on https://bugs.dolphin-emu.org/issues/12970 the masking should apply in GameCube mode, though.
2022-07-10 18:00:07 -07:00
Admiral H. Curtiss 99eef44765
Merge pull request #10832 from tellowkrinkle/FixCTZ
Common: Fix CountTrailingZeros for weird compilers
2022-07-11 02:12:45 +02:00
JMC47 cce6133ef6
Merge pull request #10749 from tellowkrinkle/IntelUbershaders
VideoCommon: Fix ubershaders on MoltenVK Intel
2022-07-10 19:35:55 -04:00
Shawn Hoffman 54b4ad8f55 ci/sdl: pump messages for SDL_hidapi so device detection works 2022-07-10 15:39:06 -07:00
Shawn Hoffman ddf83462ac sdl: enable SDL_HINT_JOYSTICK_THREAD
fixes window message pumping
2022-07-10 15:39:06 -07:00
Shawn Hoffman 655fb94e61 ci/win32: give the wndclass a unique name
other things (like SDL) may try to use "Message"
2022-07-10 15:39:06 -07:00
Shawn Hoffman dd20c7cf78 ci/sdl: re-add the x360 controller block 2022-07-10 15:39:06 -07:00
Shawn Hoffman 3f7a2c6d4d ci/sdl: minor cleanup 2022-07-10 15:39:06 -07:00
Jun Bo Bi ceed42a0ee Add SDL as a submodule 2022-07-10 15:38:59 -07:00
TellowKrinkle 3d34a20105 Common: Fix CountTrailingZeros for weird compilers 2022-07-10 17:35:47 -05:00
Jun Bo Bi 6cb936d0cf Add SDL motion input and rumble support 2022-07-10 14:49:49 -07:00
JMC47 38cb76dea5
Merge pull request #10807 from merryhime/LogicalImm
Arm64Emitter: Simplify LogicalImm logic
2022-07-10 17:27:47 -04:00
Merry 0d947ed6fe Arm64Emitter: Simplify LogicalImm further
h/t @dougallj
2022-07-10 22:17:09 +01:00
Merry 20ccc38f0f BitUtils: Implement CountTrailingZeros 2022-07-10 22:17:09 +01:00
Merry 4d99506b4c UnitTests/MovI2R: Test all logical immediates 2022-07-10 22:17:09 +01:00
Sepalani be2ede6109 BBA/BuiltIn: Move functions to anonymous namespace 2022-07-10 20:57:35 +04:00
Sepalani b950d038b9 Common/Network: Update IP checksum since total_len might have changed 2022-07-10 20:56:07 +04:00
Sepalani 5fdf255a2d Common/Network: Make Build() methods const 2022-07-10 20:12:07 +04:00
Sepalani d902b04ae0 Common/Network: Remove unused offset variables 2022-07-10 14:11:50 +04:00
Sepalani b206f98261 Common/Network: Remove unnecessary size checks 2022-07-10 14:04:03 +04:00
Sepalani 6238834c05 Common/Network: Add InsertObj helper 2022-07-10 13:56:33 +04:00
Sepalani 4efe1e7ca7 Common/Network: Ensure offsetof is valid 2022-07-10 12:48:12 +04:00
Sepalani b7bd2a4001 Common/Network: Use member initializer list 2022-07-10 12:31:59 +04:00
Sepalani 13957a627c Common/Network: Remove unused constructors 2022-07-10 11:42:58 +04:00
JosJuice 6e09b13ce3
Merge pull request #10829 from AdmiralCurtiss/spirv-cross-cmake-fix
Fix CMake Windows build after #10673 (HLSL from SPIRV).
2022-07-10 09:08:24 +02:00
OatmealDome 1c6a0073d2 ShaderCompiler: Use compute shader header in compute shaders 2022-07-09 19:01:58 -04:00
Admiral H. Curtiss cdd3571491
D3DCommon: Add glslang include directories in CMake. 2022-07-10 00:59:32 +02:00
Admiral H. Curtiss 5a7759e359
Merge pull request #10690 from schthack/BBA-tapless
BBA: Added BuiltIn device that allow BBA emulation without the need o…
2022-07-09 23:20:53 +02:00
schthack 087020b23a Refactoring of the code to match dolphin style
Changed access for offsetof + some clean up
2022-07-09 17:01:22 -04:00
JosJuice 0ebc510e6f JitArm64: Pass 32-bit temp GPR to WriteConditionalExceptionExit
If a 64-bit register is passed to WriteConditionalExceptionExit,
the LDR instruction in it will read too much data. This seems
to be harmless right now, but causes problem in one of my PRs.
2022-07-09 21:19:25 +02:00
Admiral H. Curtiss 5337943785
Merge pull request #10827 from JosJuice/jitarm64-psqst-unlock
JitArm64: Fix GPR unlocking in psq_stXX
2022-07-09 20:27:40 +02:00
JosJuice 6f40981ac0 JitArm64: Fix GPR unlocking in psq_stXX
This is what happens when I copypaste things a bit too quickly
2022-07-09 20:10:00 +02:00
Christopher Rudolph 66f330e573 Add a check for libfmt version so that in case libfmt-9 is used the function is_compile_string is called under it's new namespace 2022-07-09 17:02:09 +02:00
Admiral H. Curtiss e072aaa769
ShaderCache: Fix inverted usage of palette_format. 2022-07-09 13:17:53 +02:00
JMC47 fac66897af
Merge pull request #10819 from Dentomologist/fix_shader_compilation_warnings
VideoCommon: Fix D3D shader compilation warnings
2022-07-08 18:46:29 -04:00
JMC47 7853b72c46
Merge pull request #10430 from OatmealDome/mac-portable
UICommon: Add support for portable.txt on macOS
2022-07-08 18:41:14 -04:00
JMC47 59e8aacf42
Merge pull request #10745 from JosJuice/softmmu
JitArm64: Implement "soft MMU"
2022-07-08 15:55:49 -04:00
JMC47 828afc6735
Merge pull request #10673 from iwubcode/spirv-backends
D3D: Generate HLSL from SPIRV*
2022-07-08 15:29:58 -04:00
Dentomologist e1e0f42b37 VideoCommon: Fix D3D shader warning X3557 (single iteration loop)
Fix warning "loop only executes for 1 iteration(s), forcing loop to
unroll" when vertex_in == 1
2022-07-08 00:25:55 -07:00
Dentomologist 71541c1324 VideoCommon: Fix D3D shader warning X4000 (uninitialized variables)
Initialize alpha_A and alpha_B. They were previously only initialized in
cases where they were used, but D3D isn't able to figure that out.
2022-07-08 00:25:14 -07:00
Dentomologist 0fac1d6e87 VideoCommon: Fix D3D shader warning X3571 (negative base for pow())
Add abs() to fix "pow(f, e) will not work for negative f, use abs(f) or
conditionally handle negative values if you expect them".
2022-07-08 00:19:05 -07:00
Merry 3092f40e9f Arm64Emitter: Simplify LogicalImm logic
Heavily simplify logical immediate encoding.

This is based on the observation that if a valid repeating element
exists, it repeats through `value`. Thus it does not matter which
one you analyse. Thus we skip over the least significent element
if LSB = 1 by masking it out with `inverse_mask_from_trailing_ones`,
to avoid the degenerate case of a stretch of 1 bits going 'round
the end' of the word.
2022-07-07 22:53:36 +01:00
Admiral H. Curtiss eccf527bf6
Merge pull request #9147 from jordan-woyak/imu-accel-weight-setting
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-07-07 23:17:47 +02:00
Admiral H. Curtiss ccdb909d06
Merge pull request #10710 from jordan-woyak/rename-range
DolphinQt: Renamed "Range" to "Multiplier" in advanced mapping window and improved UX.
2022-07-07 23:04:11 +02:00
TellowKrinkle 3ee4b89a46 VideoCommon: Remember to flush command buffers after multiple EFB copies 2022-07-06 18:38:05 -05:00
JMC47 7321802b4b
Merge pull request #10811 from Pokechu22/bs2-dfi-typo
BS2Emu: Fix DFI typo
2022-07-06 03:23:55 -04:00
Pokechu22 263d2a419a BS2Emu: Fix DFI typo 2022-07-05 17:15:59 -07:00
TryTwo d0b33c7adf Debugger CodeWidget: Add filter boxes to callstack, function calls, and function callers. Move symbols search box to align with changes. 2022-07-05 12:57:41 -07:00
OatmealDome c6eb5e2623 FileUtil: Only attempt to write to the destination in Copy if there is actually content to write 2022-07-05 15:13:20 -04:00
Admiral H. Curtiss 24498ca315
Merge pull request #10712 from tellowkrinkle/ControllerLocks
InputCommon/ControllerEmu: Use more locks
2022-07-05 11:39:48 +02:00
Admiral H. Curtiss de3d1344d5
Merge pull request #10762 from CasualPokePlayer/fix_slow_audio_desyncs
Reduce gradual audio desyncing in dumps and apply the correct sample rate for GameCube audio
2022-07-05 11:37:30 +02:00
CasualPokePlayer 4234b25682 Do not directly store input sample rate, rather just store a divisor for that sample rate, with it using a fixed dividend of 54000000 * 2.
This should reduce (but not completely eliminate) gradual audio desyncs in dumps. This also allows for accurate sample rates for the GameCube.
Completely eliminating gradual audio desyncs will require resampling to an integer sample rate, as nothing seems to support a non-integer sample rate.
2022-07-03 15:07:06 -07:00
schthack 01ada3850f BBA: Added BuiltIn device that allow BBA emulation without the need of a TapDevice Configuration include a dns server setting 2022-07-02 18:02:50 -04:00
Admiral H. Curtiss 3bcd7aced9
Merge pull request #8467 from CookiePLMonster/interruptable-shader-precompile
Make shader precompilation interruptable
2022-07-02 13:08:37 +02:00
Admiral H. Curtiss 2f228310af
Merge pull request #10794 from TryTwo/PR_MemoryWidget_Cell_Edit
Debugger MemoryViewWidget: Allow direct editing of memory cells.
2022-07-02 13:05:39 +02:00
JosJuice 2a791116f1
Merge pull request #10800 from Pokechu22/registerwidget-crash
RegisterWidget: Fix crash when right-clicking when there is no selected cell
2022-07-02 09:18:28 +02:00
JosJuice 07a15a3228
Merge pull request #10624 from Minty-Meeo/resolve-gcc-warnings
Resolve Linux GCC Warnings
2022-07-02 09:17:44 +02:00
JMC47 b5f4b0dffe
Merge pull request #10803 from Zopolis4/clangingaround
Resolve additional warnings generated by clang
2022-07-02 03:12:34 -04:00
Zopolis4 0f07deb0ef
Remove unused variable in SI_DeviceKeyboard.h left over from SI_DeviceGCController.h 2022-07-02 16:16:54 +10:00
iwubcode 66f5085800 DolphinQt: add word wrap to graphics mods description 2022-07-01 19:31:19 -05:00
iwubcode 8dd4e916a7 DolphinQt: save changes to disk before refreshing mod list 2022-07-01 19:31:19 -05:00
TryTwo bd59b0a490 Debugger MemoryViewWidget: Allow direct editing of memory cells. 2022-07-01 17:30:24 -07:00
Pokechu22 bf68211878 RegisterWidget: Fix crash when right-clicking when there is no selected cell 2022-07-01 17:13:00 -07:00
Minty-Meeo 69e32dea52 Resolve GCC Warnings 2022-06-30 15:26:48 -05:00
iwubcode 4788a05c76 VideoCommon: fix projection graphics mod affecting more than the intended draw call 2022-06-29 20:04:59 -05:00
JMC47 5d04e1e1de
Merge pull request #10518 from iwubcode/draw-mod
Introducing a 'GraphicsMod' system for creators
2022-06-28 13:35:39 -04:00
JMC47 e50e45f400
Merge pull request #10700 from sepalani/ssl-handshake
Socket: Fix some non-blocking connect edge cases
2022-06-27 21:39:36 -04:00
iwubcode 8aef0015fd DolphinQt: add warning if graphics mods are not enabled 2022-06-27 18:28:28 -05:00
iwubcode f3054aa99f DolphinQt: add widget in game properties to list the various graphics mods available 2022-06-27 18:22:06 -05:00
iwubcode 1480b78f64 VideoCommon: dump EFB with size and texture format details and dump XFB with size details. Finally move count to front of image for XFB/EFB dumps so as to make it easier to see them in order. Change the count value prefix to 'n' 2022-06-27 18:20:52 -05:00
iwubcode 69839df1eb VideoCommon: support dynamically updating game mods at runtime 2022-06-27 18:20:52 -05:00
iwubcode 892678648e VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls) 2022-06-27 18:20:52 -05:00
iwubcode 62c186e14b VideoCommon: add UninitializeEFBMemory to mirror XFB function 2022-06-27 18:20:52 -05:00
iwubcode 0f88155729 Core / DolphinQt / VideoCommon: add setting for enabling graphic mods 2022-06-27 18:20:52 -05:00
iwubcode f416b71925 VideoCommon: add logic to handle a GraphicsMod while Dolphin is running 2022-06-27 18:20:52 -05:00
iwubcode 254246b814 VideoCommon: add logic to read a GraphicsMod from configuration 2022-06-27 18:20:52 -05:00
JosJuice 9e97377690 Android: Refactor reading "wiiController" preference
This had a lot of duplicated code and magic numbers.
2022-06-27 11:20:25 +02:00
JosJuice 1d772176a2 Revert "Partially revert "Android: Clean up hardcoded platform names""
This reverts commit 98bdf3b1ce.
2022-06-27 08:31:06 +02:00
JosJuice 2b36587af7 Android: Add app link intent URI to channels projection
This a proper fix for https://bugs.dolphin-emu.org/issues/12561,
which was previously fixed by a hackfix in 98bdf3b1ce.
2022-06-27 08:30:27 +02:00
Jordan Woyak 87fb42b64c DolphinQt: Renamed "Range" to "Multiplier" in advanced mapping window. Removed the slider. Moved the spin box. 2022-06-26 22:52:20 -05:00
Jordan Woyak 4c409411ed DolphinQt: Don't show the advanced input settings on the main dialog. 2022-06-26 22:48:13 -05:00
Jordan Woyak 80d9e79cf1 ControllerEmu: Allow settings to be categorized as "advanced". Make "Virtual Notches" and "Gate Size" categorized as such. 2022-06-26 22:42:16 -05:00
Jordan Woyak 643f82539c ControllerEmu: Expose gate size setting for octagon analog sticks. 2022-06-26 22:33:44 -05:00
iwubcode f92beb611f VideoCommon: add game mod constants 2022-06-26 21:53:21 -05:00
iwubcode 3857e1fa66 Core: add GraphicsMod directory 2022-06-26 21:53:21 -05:00
iwubcode 4fbbd85ef4 VideoCommon: create variables for EFB/XFB copy prefix. Reword prefix to 'efb1' and 'xfb1' to match textures 2022-06-26 21:53:21 -05:00
iwubcode b9995b04a0 VideoCommon: add a way to get have a graphics directory count for all games by using a special 'all.txt' instead of a 'gameid.txt' file 2022-06-26 00:45:13 -05:00
iwubcode 7854afe512 VideoCommon: add support for setting and getting the stage from the texture info 2022-06-26 00:45:13 -05:00
iwubcode a1892a9c68 VideoCommon: add function to check whether TextureFormat is a valid value 2022-06-26 00:45:13 -05:00
Pokechu22 76401e8ffb BS2Emu: Initialize the last rows of postMatrices to the identity matrix
This fixes Datel titles having missing textures (which was an issue with the previous commit).
2022-06-25 17:29:49 -07:00
Pokechu22 b2ddffeeb1 BS2Emu: Set HID0/1/2/4 and MSR with correct default values
These values were obtained by setting a breakpoint at a game's entry point, and then observing the register values with Dolphin's register widget.

There are other registers that aren't handled by this PR, including CR, XER, SRR0, SRR1, and "Int Mask" (as well as most of the GPRs). They could be added in a later PR if it turns out that their values matter, but probably most of them don't.

This fixes Datel titles booting with the IPL skipped (see https://bugs.dolphin-emu.org/issues/8223), though when booted this way they are currently missing textures. Due to somewhat janky code, Datel overwrites the syscall interrupt handler and then immediately triggers it (with the `sc` instruction) before they restore the correct one. This works on real hardware due to icache, and also works in Dolphin when the IPL runs due to icache, but prior to this change `HID0.ICE` defaulted to 0 so icache was not enabled when the IPL was skipped.
2022-06-25 14:27:29 -07:00
Pokechu22 9675faa232 DSPHLE: Properly reflect initial halt state in mail handler
DSPHLE::Initialize sets the halt and init bits to true (i.e. m_dsp_control.Hex starts as 0x804), which is reasonable behavior (this is the state the DSP will be in when starting a game from the IPL, as after `__OSStopAudioSystem` the control register is 0x804).
However, CMailHandler::m_halted defaults to false, and we only call CMailHandler::SetHalted in DSPHLE::DSP_WriteControlRegister when m_dsp_control.DSPHalt changes, so since DSPHalt defaults to true, if the first thing that happens is writing true to DSPHalt, we won't properly halt the mail handler.
Now, we call CMailHandler::SetHalted on startup. This fixes Datel titles when the IPL is skipped with DSP HLE (though this configuration only works once https://bugs.dolphin-emu.org/issues/8223 is fixed).
2022-06-25 14:06:55 -07:00
Admiral H. Curtiss caf0e5b3e8
DSPHLE: Add variables in CMailHandler to savestate. 2022-06-25 19:15:21 +02:00
Pokechu22 52f32e61dc DSPHLE: Fix build error in the libasnd uCode
This was a conflict between 8a144a735f and b063f15dcc.
2022-06-24 19:29:31 -07:00
JMC47 75943a7a2c
Merge pull request #10763 from Pokechu22/dsp-hle-asnd
DSPHLE: Add HLE version of libasnd ucode
2022-06-24 21:51:27 -04:00
iwubcode a8b5266347 VideoCommon: enable optimizer and remove debug details when converting GLSL to SPIR-V with validation layers turned off 2022-06-24 18:09:53 -05:00
iwubcode dda1479ecf VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality 2022-06-24 18:09:53 -05:00
iwubcode c2d3b7e7f5 VideoCommon: update pixel shader output to match old D3D code 2022-06-24 18:09:53 -05:00
iwubcode 0eb9352579 D3D: update BoundingBox to match generated shader code 2022-06-24 18:09:53 -05:00
iwubcode cad1d6ce90 VideoCommon: fix support of stereoscopic rendering after moving d3d to SPIRV generation 2022-06-24 18:09:53 -05:00
iwubcode 993fa3bf94 VideoCommon: update UberShaderPixel to properly support logic ops, matching the specialized shader 2022-06-24 18:09:53 -05:00
iwubcode 5dd2704416 D3D / VideoCommon: generate HLSL from SPIRV 2022-06-24 18:09:53 -05:00
iwubcode 3790c99a7d VideoCommon: add common spirv helper functions
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
iwubcode 1c90d836a5 Externals: add spirv-cross using upstream commit 50b4d5389b6a06f86fb63a2848e1a7da6d9755ca
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
Pokechu22 1faca4bfc7
Merge pull request #10752 from tellowkrinkle/BetterShaderNames
VideoCommon: Better shader names
2022-06-24 15:50:48 -07:00
JMC47 76f890f6b0
Merge pull request #10761 from Pokechu22/dsp-halt-mail
DSPHLE: Handle mail more accurately
2022-06-24 18:46:20 -04:00
JMC47 ffa3bf86fb
Merge pull request #10760 from tellowkrinkle/std430
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-24 18:40:47 -04:00
Zopolis4 5d2290ba3c
Removed unused variable MAX_MSGLEN in LogManager.cpp 2022-06-24 14:57:03 +10:00
Pokechu22 8a144a735f DSPHLE: Add HLE version of libasnd ucode 2022-06-23 10:50:24 -07:00
Admiral H. Curtiss 0a2aabe6ec
Merge pull request #10753 from Pokechu22/dsp-hle-cdd1-constants
DSPHLE: Move CDD1 constants to UCodes.h
2022-06-23 13:43:57 +02:00
Pierre Bourdon 2bd72dfc6f
Merge pull request #10758 from shuffle2/x64-on-arm64
windows: detect and warn if running x64 dolphin on arm64
2022-06-23 07:34:34 +02:00
Pokechu22 f3c8e75666 DSPHLE: Move CDD1 constants to UCodes.h
These are used by *all* uCodes, though not all uCodes support MAIL_RESUME or MAIL_CONTINUE.
2022-06-22 22:01:13 -07:00
Shawn Hoffman 29ddd0e6f0 windows: detect and warn if running x64 dolphin on arm64 2022-06-22 15:33:12 -07:00
Pokechu22 a72fa4b9cc DSPHLE: Don't generate new mail if the DSP is halted
This fixes booting Datel titles with DSPHLE (see https://bugs.dolphin-emu.org/issues/12943). Datel messed up their DSP initialization code, so it only works by receiving a mail later on, but if halting isn't implemented then it receives the mail too early and hangs.
2022-06-22 09:57:33 -07:00
Pokechu22 3aeafcc70b DSPHLE: Return last mail with top bit cleared if there is no new mail
This is an accuracy improvement, though I don't think it matters for anything in practice.
2022-06-22 09:56:51 -07:00
Pokechu22 bdbb23fa1a DSPHLE: Rename CMailHandler::m_Mails to m_pending_mails 2022-06-22 09:56:51 -07:00
Pokechu22 0fec8ffb3c DSPHLE: Remove empty destructors
Most of these were made unnecessary by the previous commit.
2022-06-22 09:56:51 -07:00
Pokechu22 567f9bede4 DSPHLE: Remove unneeded calls to m_mail_handler.Clear()
It's cleared whenever the uCode changes, so there's no reason to clear it in a destructor or during initialization.

I've also renamed it to ClearPending.
2022-06-22 09:56:50 -07:00
Pokechu22 b063f15dcc DSPHLE: Replace CMailHandler::IsEmpty with CMailHandler::HasPending 2022-06-22 09:56:50 -07:00
Pierre Bourdon c8e716234e
Merge pull request #10732 from Pokechu22/dsp-init
Increase accuracy of DSP initialization process
2022-06-22 14:36:04 +02:00
Pierre Bourdon 6ddff87d42
Merge pull request #10755 from tellowkrinkle/DebugUID
VideoCommon: Don't add garbage to shader uids in debug builds
2022-06-22 14:33:23 +02:00
Pierre Bourdon dc61f87fe4
Merge pull request #10772 from shuffle2/morepch
msbuild: add pch for dolphinqt
2022-06-22 14:27:44 +02:00
Pierre Bourdon ceef02ed2a
Merge pull request #10750 from Pokechu22/hermes-test
Enhance DSPAssemblyTest, and fix various DSPTool bugs discovered while doing so
2022-06-22 14:26:50 +02:00
Pierre Bourdon efcb9bec9c
Merge pull request #10774 from spotlightishere/bsd-determine-nameserver
IP/Top: Expand host nameserver usage
2022-06-22 13:02:05 +02:00
Spotlight 430c58cf27
IOS: Use host nameserver on more BSDs 2022-06-21 21:49:02 -05:00
Spotlight a2530e3b93
IOS: Use first available IPv4 nameserver 2022-06-21 21:49:02 -05:00
Zopolis4 0dfd9d4b43
Replace Cpp11 (A Deprecated alias for Latest) in .clang-format 2022-06-22 08:57:32 +10:00
Shawn Hoffman b39a11e23b msbuild: add pch for dolphinqt
since this now includes Qt headers it's better than only using
the vanilla DolphinLib one alone (previous behavior before Qt6)
2022-06-21 13:35:14 -07:00
Pokechu22 a334883c47 Qt/MemoryViewWidget: Don't elide text
Before, the Hex 32 display would get truncated on Linux.
2022-06-20 18:53:23 -07:00
Admiral H. Curtiss f441e3ab98
Merge pull request #10723 from Pokechu22/dsp-lle-unsigned-loop-counter
DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF
2022-06-21 02:01:13 +02:00
Admiral H. Curtiss d524a92963
Merge pull request #10767 from Pokechu22/dsp-lle-dirq-zero-log
DSPLLE: Don't log when DIRQ is set to 0
2022-06-21 01:31:03 +02:00
JosJuice fafc78b9b5 Re-run code formatting after update to Android Studio 2022.2
Android Studio 2022.2 "Chipmunk" changes the code formatting rules a
little. Let's apply the new formatting in this PR so that the lint bot
doesn't take it out on innocent PRs.
2022-06-20 17:41:41 +02:00
Pokechu22 c317f7fd22 DSPLLE: Don't log when DIRQ is set to 0
No interrupt is generated in this case. The homebrew liband uCode writes zero fairly frequently, so logging it results in spam.
2022-06-19 10:46:41 -07:00
Braxton Anderson 2b2b8e932d Rename FPS_REFRESH_INTERVAL in VideoCommon/FPSCounter 2022-06-17 20:11:53 -06:00
TellowKrinkle f79ac768d8 VideoCommon:ShaderCache: Add const to some local variables 2022-06-17 20:14:32 -05:00
Admiral H. Curtiss 23ed611077
Merge pull request #10729 from Pokechu22/libusb-error-wrap
Improve libusb error logging
2022-06-17 16:01:46 +02:00
Admiral H. Curtiss b199108964
Merge pull request #10520 from AdmiralCurtiss/resource-pack-init-crash
ResourcePack: Avoid crashes on invalid packs during Init().
2022-06-17 13:55:16 +02:00
Admiral H. Curtiss efbf5a450b
ResourcePack: Avoid crashes on invalid packs during Init(). 2022-06-17 03:49:05 +02:00
TellowKrinkle 26529a31ab VideoCommon: Fix SSBO layout and remove associated "bug" 2022-06-16 20:26:11 -05:00
Shawn Hoffman 896d5454f0 updater: use new platform id for win-arm64 2022-06-16 14:55:51 -07:00
Pokechu22 053b3e725b DSPHLE: More accurately handle initialization behavior
This improves timing, but does not fix Datel titles.
2022-06-16 12:18:05 -07:00
Pokechu22 072913bbad DSPLLE: More accurately handle initialization behavior 2022-06-16 12:18:05 -07:00
Pokechu22 c38c2b1aaa DSPLLE: Fix debug logging in ReadMailboxLow
The # option means that 0x is prepended already, so the old code resulted in 0x0xDEADBEEF instead of the intended 0xDEADBEEF. WriteMailboxLow was already correct.
2022-06-16 12:18:05 -07:00
Pokechu22 3ceda1df8c DSPLLE: Rename cr to control_reg
Before, there were two distinct fields called cr and r.cr, which is needlessly confusing (see the comment in DSPCore.h).
2022-06-16 12:18:05 -07:00
TellowKrinkle c7892d7371 VideoCommon: Name ubershaders 2022-06-16 02:08:45 -05:00
TellowKrinkle 23c1721fbd VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders 2022-06-16 02:08:45 -05:00
JosJuice 107a928452
Merge pull request #10748 from tellowkrinkle/SDL22Fun
InputCommon: SDL 2.0.22 init crash workaround
2022-06-15 18:02:59 +02:00
Admiral H. Curtiss ac3920a0da
Qt/GameCubePane: Fix swapping memory cards mid-emulation. 2022-06-15 10:42:14 +02:00
TellowKrinkle 3fe1a1a3d7 VideoCommon: Don't add garbage to shader uids in debug builds
There wasn't anything stopping compilers from doing it in release builds either, but most optimizations would make the padding zero
2022-06-14 21:51:58 -05:00
TellowKrinkle 994210e369 InputCommon: SDL 2.0.22 init crash workaround
See https://github.com/libsdl-org/SDL/pull/5598
2022-06-14 21:02:45 -05:00
JMC47 431d757151
Merge pull request #10743 from tellowkrinkle/LargeBlockRVZ
Fix creation of rvz with > 2mb chunk size
2022-06-14 16:17:24 -04:00
JMC47 8a8e9c5ef6
Merge pull request #10742 from tellowkrinkle/Xcode
Improve incremental build time for Xcode projects
2022-06-14 16:14:54 -04:00
Pokechu22 dec48ed7de UnitTests: Remove unused include from DSPAssemblyTest 2022-06-14 13:07:14 -07:00
Pokechu22 5ea3efaedf UnitTests: Fix license for HermesBinary.cpp
This is an assembled version of HermesText.cpp, so the same license applies to it.
2022-06-14 12:22:06 -07:00
Pokechu22 75ff89e8c7 UnitTests: Edit wait_for_dsp_mail in HermesText to match HermesBinary
I don't know what happened here, unfortunately.  The version of dsp_mixer.s added to libogc on Nov 14, 2008 in c76d8b851f uses andcf and jlz here, and the version we have matches the one from Feb 5, 2009 in ae5c3a5fb5 exactly (prior to the fixes in my previous commit).  I can't see any reason why wait_for_dsp_mail would be changed like this.

ANDCF and ANDF were previously swapped and JNE/JEQ/JZR/JNZ became JNZ/JZ/JLNZ/JLZ on Apr 3, 2009 in 7c4e654253, corresponding to a change Hermes made on Nov 10, 2008 in 2cea6d99ad. But these predate the test being added.

The only other information I can find is that ASNDLIB 1.0 released on November 11, 2008, at https://web.archive.org/web/20120326145022/http://www.entuwii.net/foro/viewtopic.php?f=6&t=87 (but there aren't any surviving links from there).
2022-06-14 12:22:06 -07:00
Pokechu22 36769017c0 UnitTests: Update DSP test text for old renames
This change makes assembling DSPTestText match DSPTestBinary, though HermesText doesn't yet match HermesBinary.

The test data was originally added on April 18, 2009 in e7e4ef4481.  Then, set16 and set40 were swapped on April 22, 2009 89178f411c, which updated the DSPSpy version of dsp_code, but not the version in DSPTool used for testing.  So, when the test was made, the assembled data matched the text, but a few days after it no longer did.

Similarly, on Jul 7, 2009 in 1654c582ab the conditional instructions were adjusted, and 0x1706 was changed from JRL to JRNC and 0x0297 was changed from JGE to JC.

For what it's worth, devkitPro made the same changes on May 31, 2010 in 8a65c85c9b and updated their version of the asnd ucode (which is this ucode) on June 11, 2011 in b1b8ecab3a (though this update also includes other feature changes). Note that at the time, they didn't reassemble the ucode unless they made changes to it; the assembled was stored in the repo until bfb705fe16~...d20f9bdcfb43260c6c759f4fb98d724931443f93.

This fixes the following failures with Hermes:

!! 0015 : 8e00 vs 8f00 - set16         vs  set40
!! 016f : 8e00 vs 8f00 - set16         vs  set40

and with Hermes:

!! 0014 : 8e00 vs 8f00 - set16         vs  set40
!! 0063 : 8e00 vs 8f00 - set16         vs  set40
!! 019b : 1706 vs 1701 - jrnc        $AR0  vs  jrl         $AR0
!! 01bf : 0297 vs 0290 - jc          0x01dc  vs  jge         0x01dc
!! 01d2 : 0297 vs 0290 - jc          0x01dc  vs  jge         0x01dc

Hermes has the remaining failures:

!! 027b : 03c0 vs 03a0 - andcf       $AC1.M, #0x8000  vs  andf        $AC1.M, #0x8000
!! 027d : 029d vs 0294 - jlz         0x027a  vs  jnz         0x027a
2022-06-14 12:22:06 -07:00
Pokechu22 d52528a6f0 UnitTests: Add tests for assembling DSP code to expected binary
We already have the data for this, so this seems like a useful thing to do.  However, neither of the new tests currently pass...
2022-06-14 12:22:06 -07:00
Pokechu22 41939eeaf9 DSPDisassembler: Fix disassembly of LSR and ASR
Before, both 1441 and 147f would disassemble as `lsr $acc0, #1`, when the second should be `lsr $acc0, #-1`, and both 14c1 and 14ff would be `asr $acc0, #1` when the second should be `asr $acc0, #-1`. I'm not entirely sure whether the minus signs actually make sense here, but this change is consistent with the assembler so that's an improvement at least.

devkitPro previously changed the formatting to not require negative signs for lsr and asr; this is probably something we should do in the future: 8a65c85c9b

This fixes the HermesText and HermesBinary tests (HermesText already wrote `lsr $ACC0, #-5`, so this is consistent with what it used before.)
2022-06-14 12:22:06 -07:00
Pokechu22 6a2ec825a2 UnitTests: Fail DSPAssemblyTest if the assembled code doesn't match the expected result
This reveals that both HermesText and HermesBinary fail.  HermesBinary would have failed on master, too, if this had been implemented.
2022-06-14 12:22:06 -07:00
Pokechu22 2d774010c3 DSPCodeUtil: Include the PC and hex in the "Extra code words" section
It's included in the section before, so it's helpful to supply here too.
2022-06-14 12:22:06 -07:00
Pokechu22 087d89225c DSPCodeUtil: Give better output when comparing instructions with large immediates 2022-06-14 12:22:06 -07:00
Pokechu22 cad9801ded DSPDisassembler: Fix out-of-bounds read when the last word is an instruction with a large immediate
For instance, ending with 0x009e (which you can do with CW 0x009e) indicates a LRI $ac0.m instruction, but there is no immediate value to load, so before whatever garbage in memory existed after the end of the file was used.

The bounds-checking also previously assumed that IRAM or IROM was being used, both of which were exactly 0x1000 long.
2022-06-14 12:22:06 -07:00
Pokechu22 dc353ed84d DSPTool: Exit with status 1 if binary comparison fails 2022-06-14 12:22:06 -07:00
Pokechu22 693a29f8ce DSPCodeUtil: Use fmt::print instead of logging in DSP::Compare 2022-06-14 12:22:05 -07:00
Pokechu22 d8803a1298 UnitTests: Use fmt::print in DSPAssemblyTest 2022-06-14 12:22:05 -07:00
Pokechu22 8fac249581 UnitTests: Use fmt::print in PageFaultTest 2022-06-14 12:22:05 -07:00
Pokechu22 dd66dac5c1 UnitTests: Fix typo in DSPAssemblyTest 2022-06-14 12:22:05 -07:00
Pokechu22 3cb0976367 UnitTests: Use hermes.s as part of an actual test
Before, the file just existed as the source code for HermesBinary.cpp, but we can test that things assemble correctly too (compare DSPTestBinary.cpp and DSPTestText.cpp).

A bit of jank is needed due to MSVC limitations (see https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2026?view=msvc-170).
2022-06-14 12:22:05 -07:00
Pokechu22 2193c8964e DSPTool: Remove moved files from VS project file
These were moved into UnitTests in #5449.
2022-06-14 12:22:05 -07:00
TellowKrinkle 25929789c1 VideoCommon: Don't pass State by inout
Spirv-cross's MSL codegen makes the amazing choice of compiling calls to inout functions as `State temp = s; call_function(temp); s = temp`.  Not all Metal backends handle this mess well.  In particular, it causes register spills on Intel, losing about 5% in performance.
2022-06-14 00:48:47 -05:00
TellowKrinkle db6e928c8d VideoCommon: Fix Intel GPUs on Metal/Vulkan locking up in ubershaders 2022-06-14 00:48:47 -05:00
JMC47 9315ac7071
Merge pull request #10587 from AdmiralCurtiss/memcard-path-unify
Raw Memory Card Path handling unification and consistency fixes.
2022-06-13 20:18:36 -04:00
JMC47 f96e91119a
Merge pull request #10735 from CasualPokePlayer/audio_dump_volume_fix
Have audio dumps apply volume
2022-06-13 17:09:58 -04:00
Jordan Woyak 1fc86cacd7 WiimoteEmu: Expose IMU pointing accelerometer weight setting. 2022-06-13 00:07:00 -05:00
Tillmann Karras 59dfc43949 Common: replace std::aligned_storage_t with alignas
C++23 deprecates std::aligned_storage_t while alignas works since C++11.

This fixes issue 12925.
2022-06-13 00:06:19 +01:00
JosJuice 62ec19c1ba JitArm64: Remove redundant line in the EmitBackpatchRoutine comment
All stores clobber X0, so that stores clobber X0 when emitting_routine
is true is nothing special.
2022-06-12 11:03:38 +02:00
JosJuice 75e897c40e JitArm64: Fix a minor mistake in the EmitBackpatchRoutine comment
X30 is used in fewer situations than the comment was claiming.

(I think that when I wrote the comment I was counting the use of X30
as a temp variable in the slowmem code as clobbering X30, but that
happens after pushing X30, so it doesn't actually get clobbered.)
2022-06-12 11:03:37 +02:00
JosJuice 3de49dee78 JitArm64: Properly reserve scratch register for soft MMU
Cleans up a hack from the previous commit.
2022-06-12 11:03:35 +02:00
JosJuice 3dce1df00e JitArm64: Implement "soft MMU"
This is used when fastmem isn't available. Instead of always falling
back to the C++ code in MMU.cpp, the JIT translates addresses on its
own by looking them up in a table that Dolphin constructs. This is
slower than fastmem, but faster than the old non-fastmem code.

This is primarily useful for iOS, since that's the only major platform
nowadays where you can't reliably get fastmem. I think it would make
sense to merge this feature to master despite this, since there's
nothing actually iOS-specific about the feature. It would be of use
for me when I have to disable fastmem to stop Android Studio from
constantly breaking on segfaults, for instance.

Co-authored-by: OatmealDome <julian@oatmealdome.me>
2022-06-12 11:03:25 +02:00
OatmealDome 3e5f1a4f99 MemTools: Always provide a valid pointer in send_msg for mach_msg_overwrite
This cannot be nullptr in macOS Ventura and iOS 16.
2022-06-12 00:19:09 -04:00
TellowKrinkle 7cf5547b97 CMake: Make bundled MoltenVK optional
Adds ~20s to incremental build time in Xcode projects
2022-06-11 16:34:33 -05:00
TellowKrinkle 26fc167a44 DiscIO: Fix creation of rvz with > 2mb chunk size 2022-06-11 16:10:32 -05:00
TellowKrinkle e4614067b3 CMake: Respect SKIP_POSTPROCESS_BUNDLE 2022-06-11 15:46:38 -05:00
CasualPokePlayer ad892176d0 have audio dumps apply volume (fixes cases of audio dumps being "too loud" and in game audio controls having no effect) 2022-06-10 21:27:10 -07:00
Silent 7faf5ea170
Clear the UI after async shader compilation 2022-06-10 17:19:59 +02:00
Silent dcad3ec892
Allow to interrupt shader precompilation by stopping emulation 2022-06-10 17:11:32 +02:00
JosJuice bcc64a05b3 Memmap: Remove outdated comments for 32-bit 2022-06-09 19:51:36 +02:00
JosJuice 63283dcc72 JitArm64: Refactor EmitBackpatchRoutine parameters, part 2 2022-06-09 19:51:36 +02:00
JosJuice 27ed2a99a0 JitArm64: Refactor EmitBackpatchRoutine parameters, part 1 2022-06-09 19:51:36 +02:00
Pokechu22 27772e01d9 GCAdapter: Compare with LIBUSB_SUCCESS instead of 0 2022-06-08 15:30:22 -07:00
Pokechu22 83afaba785 IOS/USB: Use LibusbUtils::ErrorWrap and LIBUSB_SUCCESS 2022-06-08 15:29:11 -07:00
Pokechu22 5d301cc206 BTReal: Log warnings when libusb calls fail 2022-06-08 15:29:11 -07:00
Pokechu22 eeab51e3a4 Log warnings when LibusbUtils::MakeConfigDescriptor fails 2022-06-08 15:29:11 -07:00
Pokechu22 15cbb5c8f9 Log warnings when LibusbUtils::GetDeviceList fails 2022-06-08 15:29:11 -07:00
Pokechu22 91a7c4bdf2 LibusbUtils: Log warnings when libusb_set_option or libusb_handle_events_timeout_completed fail 2022-06-08 13:18:31 -07:00
Sepalani d7135daff5 Socket: Fix some errors related to non-blocking connect 2022-06-08 19:06:42 +04:00
Sepalani c53a4c8c1a Socket: Keep track of the socket connection progress
Workaround for mbedtls handshake issues with partially connected sockets
2022-06-08 19:06:42 +04:00
Sepalani cbadc6e81a NetworkCaptureLogger: Move ErrorState struct to Common/Network 2022-06-08 19:06:42 +04:00
Sepalani 41ce3a83d5 Socket: Refactor WiiSockMan::Convert 2022-06-08 19:06:42 +04:00
Mai M 099aaf0037
Merge pull request #10724 from JosJuice/android-manifest-namespace
AndroidManifest.xml: Re-add package="org.dolphinemu.dolphinemu"
2022-06-06 23:59:22 -04:00
JMC47 daf8e3ddde
Merge pull request #10462 from OatmealDome/steam-runtime
DolphinQt: Add support for a Steam Runtime build
2022-06-06 20:18:06 -04:00
JosJuice dd0485389e AndroidManifest.xml: Re-add package="org.dolphinemu.dolphinemu"
Without this, debug builds of Dolphin fail to launch. The OS tries
to locate org.dolphinemu.dolphinemu.debug.DolphinApplication
but fails to find it because its actual name is
org.dolphinemu.dolphinemu.DolphinApplication.

Partially reverts 6b74907f9d.
2022-06-06 21:57:21 +02:00
Tillmann Karras 79a7bf02eb
CMake: rename minizip to minizip-ng
minizip-ng is the new name used by the upstream project as well as all
distros other than Fedora (but it looks like it will be renamed there).
2022-06-06 14:21:43 +02:00
Pokechu22 d03b277403 DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF 2022-06-05 19:34:31 -07:00
Admiral H. Curtiss 4fd18cf207
DolphinQt: Unify handling of raw memory card path. 2022-06-05 21:48:13 +02:00
Admiral H. Curtiss deb9964333
Core: Unify handling of raw memory card path. 2022-06-05 21:43:48 +02:00
Admiral H. Curtiss b1d1f2aa06
Common/StringUtil: Add convenience function for converting paths to use forward slashes on Windows. 2022-06-05 21:24:45 +02:00
Admiral H. Curtiss 2081e2f2a1
Config: Move ToGameCubeRegion(), GetDirectoryForRegion(), and GetBootROMPath() to new config system namespace. 2022-06-05 21:24:45 +02:00
JMC47 664663e8de
Merge pull request #10604 from Pokechu22/gcadapter-refactor
Refactor GCAdapter, part 1
2022-06-04 16:30:25 -04:00
Admiral H. Curtiss 96f9d1000d
Merge pull request #10721 from Dentomologist/fix_warnings_on_generic_builder
Fix warnings on generic builder
2022-06-04 21:51:58 +02:00
Dentomologist 92af703f29 DSPAssembler: Fix -Wswitch warning 2022-06-04 12:08:09 -07:00
Tilka d7cda67462
Merge pull request #10716 from Pokechu22/dsp-lle-loop-saturation
DSP LLE: Apply saturation to LOOP and BLOOP with $ac0.m and $ac1.m
2022-06-04 15:30:06 +01:00
Dentomologist 2999cca41b UnitTests: Fix -Wrange-loop-construct warnings
Don't use reference variable bound to a temporary value
2022-06-03 22:28:17 -07:00
Admiral H. Curtiss 9fb17b5a48
Merge pull request #10718 from shuffle2/hotkeys
qt: unregister Settings' DevicesChanged callback during shutdown
2022-06-03 13:48:28 +02:00
Shawn Hoffman b16711f2af qt: fix wiipane usb list layout 2022-06-02 23:58:13 -07:00
Shawn Hoffman 27dd2c4aa4 qt: unregister Settings' DevicesChanged callback during shutdown
fixes a crash on close
2022-06-02 23:32:21 -07:00
Pokechu22 6823b4d7a0 GCAdapter: Use LibusbUtils::ErrorWrap in log messages 2022-06-02 19:39:36 -07:00
Pokechu22 457fcbaf5e LibusbUtils: Create ErrorWrap 2022-06-02 19:39:36 -07:00
Pokechu22 0d8772ccbe GCAdapter: Make local variables const where possible 2022-06-02 19:39:36 -07:00
Pokechu22 cd9edeacda GCAdapter: Merge Read logic 2022-06-02 19:39:36 -07:00
Pokechu22 9ec65baf46 GCAdapter: Have the read thread control the write thread
This was done for Android in 6cc40b1235.
2022-06-02 19:39:36 -07:00
Pokechu22 0fa92694d1 GCAdapter: Exit early if the adapter fails to open on Android
This is only so that indentation is consistent with the non-android code.
2022-06-02 19:39:36 -07:00
Pokechu22 749a4ad1ef GCAdapter: Remove check on write size on android
It was removed for non-android in 56239d1ae1, and android already uses a separate thread, so presumably this isn't needed anymore.
2022-06-02 19:39:36 -07:00
Pokechu22 27947046af GCAdapter: Harmonize read/write thread variable names 2022-06-02 19:39:36 -07:00
Pokechu22 279888da8c GCAdapter: Remove unused includes 2022-06-02 19:39:36 -07:00
Pokechu22 3ae775e574 GCAdapter: Use determinism hack on Android
This hack was added in 8f0cbefbe5, and the part of it in SI_DeviceGCAdapter is present on Android already, so I don't see any reason why this part doesn't apply to Android.
2022-06-02 19:39:36 -07:00
Pokechu22 55922e6d17 GCAdapter: Convert ControllerType to an enum class 2022-06-02 19:39:36 -07:00
Pokechu22 682d86f4da GCAdapter: Fix rumble enabled config on Android
I believe the setting already existed in the UI; it just wasn't implemented in GCAdapter_Android.cpp.
2022-06-02 19:39:36 -07:00
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
OatmealDome 7ce1a5717a UICommon: Add support for portable.txt on macOS 2022-06-02 14:56:09 -04: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
TellowKrinkle f9c6eb7b98 InputCommon/ControllerEmu: Use more locks
Loading configs while another thread is messing with stuff just doesn't feel like a good idea
Hopefully fixes Wiimote Scanning Thread crashes on startup
2022-05-31 20:17:37 -05: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
Charles Lombardo 9224c099d4 Fix game card in landscape 2022-05-15 17:31:49 -04:00
Tillmann Karras ac7aeeece6 AX: refactor buffer initialization 2022-05-15 00:24:38 +01:00
Pokechu22 b8cca8f598 ProcessorInterface: Implement PI_FIFO_RESET
Fixes unknown opcodes 0x0f and 0xff when resetting titles, e.g. https://bugs.dolphin-emu.org/issues/12492
2022-05-13 14:20:14 -07:00
Tilka fcb3f9e35b
Merge pull request #10652 from shuffle2/fmt
update fmt and fix warnings that popped up with vs 17.2
2022-05-13 22:09:01 +01:00
Tillmann Karras 855dbf88ca AX: handle DPL2 mixer control in old GameCube titles
This fixes the audio test in Rogue Squadron 2 (issue 12902).
2022-05-13 00:18:24 +01:00
Tillmann Karras 8438e647f2 AXWii: handle mixer control more precisely
On GameCube, a ramp bit has no effect if its corresponding channel is
inactive. On Wii however, enabling just the ramp implicitly also enables
the channel. AXSetVoiceMix() never does that, so this commit should have
no impact on games unless they fiddle with the mixer control value
directly.
2022-05-12 21:21:03 +01:00
Tilka 333659cefa
Merge pull request #10643 from Tilka/ax_cleanup
AX: fix missing ramp of main surround channel
2022-05-12 21:12:04 +01:00
Shawn Hoffman 7b8e6c5b36 fmt: do not define uint type in global namespace 2022-05-10 21:17:10 -07:00
Shawn Hoffman fa17153ebc fmt: use make_format_args instead of make_args_checked
make_args_checked is deprecated
see https://github.com/fmtlib/fmt/pull/2760 and the linked comment
2022-05-10 19:25:48 -07:00
Shawn Hoffman 56626f73bf fmt: fix 'ambigous overload' error 2022-05-10 19:19:52 -07:00
Shawn Hoffman abc848b88c msvc: bump min version to vs 17.2 2022-05-10 16:11:54 -07:00
Tilka c41467a8eb
Merge pull request #10650 from AdmiralCurtiss/memory-widget-resize-fix
Qt/MemoryViewWidget: Fix resizing.
2022-05-10 21:25:33 +01:00
Charles Lombardo e03ee66ab5 Upgrade dependencies 2022-05-10 13:56:13 -04:00
Admiral H. Curtiss 828ce0f3cf
Qt/MemoryViewWidget: Fix resizing. 2022-05-10 12:35:37 +02:00
Charles Lombardo 6b74907f9d Upgrade gradle to 7.2.0 2022-05-09 23:00:33 -04:00
Tilka a768dc6f80
Merge pull request #10374 from Pokechu22/slots-unused-warning
Work around false SLOTS defined but not used warning on GCC
2022-05-09 22:28:59 +01:00
Pokechu22 61a144ba06 Show a panic alert if movie is missing its starting savestate 2022-05-09 13:32:38 -07:00
Tilka d82f2d7314
Merge pull request #10612 from AdmiralCurtiss/memory-widget-refactoring-2
Qt/MemoryViewWidget: Replace the click-to-center behavior with a scrollbar.
2022-05-09 20:11:58 +01:00
Tilka 5ef17e60d0
Merge pull request #10633 from Minty-Meeo/generate-from-address-fix
Index SymbolDB when generated from address
2022-05-09 19:38:25 +01:00
Shawn Hoffman 5d459380d1 qt/win: remove hack for tab bar scroll buttons 2022-05-09 01:45:42 -07:00
Admiral H. Curtiss 7f94e62dd5
Qt/MemoryViewWidget: Remove the behavior that clicking anywhere in the table centers the table on that row. 2022-05-08 23:14:37 +02:00
Admiral H. Curtiss 88dd9e57f3
Qt/MemoryViewWidget: Add a custom scrollbar. 2022-05-08 23:14:37 +02:00
Admiral H. Curtiss 4e153212a0
Qt/MemoryViewWidget: Convert into QWidget that has the table as a member. 2022-05-08 23:14:36 +02:00
Admiral H. Curtiss 0e1e2323ea
Qt/MemoryViewWidget: Keyboard navigation should observe the number of bytes per row instead of assuming 16. 2022-05-08 23:14:36 +02:00
Admiral H. Curtiss b339c6cac1
Merge pull request #10594 from AdmiralCurtiss/gamecube-pane-signal-block
Qt/GameCubePane: Don't trigger config change events when populating GUI.
2022-05-08 20:54:51 +02:00
Admiral H. Curtiss 6e54233eb8
Merge pull request #10593 from AdmiralCurtiss/interface-pane-signal-block
Qt/InterfacePane: Don't trigger config change events when populating GUI.
2022-05-08 20:43:09 +02:00
JosJuice e19b995a1c
Merge pull request #10644 from shuffle2/hide-balloon
Qt: hide balloon tooltip when parent gets hidden
2022-05-08 17:46:12 +02:00
JosJuice 299d5c0141
Merge pull request #10591 from AdmiralCurtiss/memmap-state-crash
HW/Memmap: Refuse to load savestate if memory settings are different.
2022-05-08 14:49:11 +02:00
JosJuice 31232f8c23
Merge pull request #10608 from t895/theme-refactor
Android: Modernize theming system
2022-05-08 11:37:35 +02:00
Admiral H. Curtiss 02ef946e81
HW/Memmap: Refuse to load savestate if memory settings are different. 2022-05-08 11:06:27 +02:00
Admiral H. Curtiss e2dee9c3f8
Qt/InterfacePane: Don't trigger config change events when populating GUI. 2022-05-08 11:04:39 +02:00
Admiral H. Curtiss 1d224d1da5
Qt/GameCubePane: Don't trigger config change events when populating GUI. 2022-05-08 11:03:33 +02:00
Admiral H. Curtiss 67ee78b9dc
Merge pull request #10621 from TryTwo/PR_Register_Column_Type
Debugger RegisterWidget Add option to change column's display type
2022-05-08 10:59:05 +02:00
Shawn Hoffman 1e033a4f73 Qt: hide balloon tooltip when parent gets hidden
fixes balloon remaining onscreen when parent gets
hidden via escape key for example.
2022-05-08 00:48:30 -07:00
JMC47 5f04ad5c3c
Merge pull request #10559 from shuffle2/qt6
update to Qt6 on windows, support Qt6 elsewhere
2022-05-08 01:29:46 -04:00
Mai M 997754bf3b
Merge pull request #10642 from JosJuice/refactor-mmu-read
PowerPC: Refactor ReadFromHardware
2022-05-07 17:18:17 -04:00
JosJuice b6b7030482 PowerPC: Add HW_PAGE_MASK constant 2022-05-07 19:37:44 +02:00
Tillmann Karras e6e283a11c AX: rename main depop fields and mixer flags 2022-05-07 18:30:32 +01:00
Tillmann Karras 048469f7c2 AX: fix missing ramp of main surround channel 2022-05-07 18:20:48 +01:00
JosJuice ed40b43960 PowerPC: Reorder code in ReadFromHardware
This refactorization is done just to match the order that I made
WriteToHardware use in 543ed8a. For WriteToHardware, it's important that
things like MMIO and gather pipe are handled before we reach a special
piece of code that only should get triggered for writes that hit memory
directly, but for ReadFromHardware we don't have any code like that.
2022-05-07 15:52:35 +02:00
Mai M 4b6a47396e
Merge pull request #10636 from t895/getBindingAdapterPosition
Android: Replace deprecated method calls for adapter position
2022-05-07 09:41:44 -04:00
JosJuice 3b3c60dc4c PowerPC: Check page crossing for non-translated reads
This fixes a problem where Dolphin could crash if a non-translated
read crossed the end of a physical memory region.

The same change was applied to WriteToHardware in ecbce0a.
2022-05-07 15:41:21 +02:00
Mai M 9858a79974
Merge pull request #10640 from JosJuice/jitarm64-low-dcbz
JitArm64: Implement low DCBZ hack
2022-05-07 09:39:49 -04:00
JosJuice 16eb188f1d JitArm64: Implement low DCBZ hack
JitArm64 port of 76228fa.
2022-05-07 15:37:50 +02:00
Tillmann Karras f65b7066f5 AX: put each volume and its ramp delta into a dedicated struct (NFC) 2022-05-07 13:19:15 +01:00
Tillmann Karras 83858e68d4 AX: clarify main LRS channel names (NFC) 2022-05-07 13:19:15 +01:00
Charles Lombardo c04835243f Replace deprecated method calls 2022-05-05 18:31:50 -04:00
OatmealDome baabd63f81 WiiUtils: Change default NUS Shop URL to Dolphin's fake NUS 2022-05-05 15:21:02 -04:00
OatmealDome 8c669efe76 MainSettings: Add setting to control Wii NUS Shop URL for system updates 2022-05-05 00:35:53 -04:00
Minty-Meeo 8fec3224fc Index SymbolDB when generated from address
Otherwise every function will be the same color in the code view widget.
2022-05-03 21:20:00 -05:00
Mai M d0ed09ab6f
Merge pull request #10632 from Tilka/ax_ub
AX: prevent undefined behavior
2022-05-03 20:13:07 -04:00
Tilka ac643825ce
Merge pull request #10628 from Minty-Meeo/force_inline-minor-change
Change _WIN32 check to a _MSC_VER check in Inline.h
2022-05-03 23:07:40 +01:00
Tilka f75f19ae6a
Merge pull request #10629 from Tilka/spaces
DolphinTool: add missing spaces in help text
2022-05-03 23:01:25 +01:00
Tillmann Karras aee547aa0e AX: prevent undefined behavior
u16 gets promoted to s32 where changing the uppermost bit is UB.
2022-05-03 22:17:24 +01:00
Shawn Hoffman a29b1ac6d3 Revert "msbuild: use pdbaltpath to strip dirname of pdb"
This reverts commit f2c5c052bc.

debuggers using path-based searching don't seem smart enough
to find a relative path if it's not relative to their pwd.
2022-05-03 11:42:45 -07:00
spycrab 004e8a80b2 Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
Tillmann Karras 4b66ce6c4d DolphinTool: add missing spaces in help text 2022-05-02 12:19:01 +01:00
Minty-Meeo 9c22205ab1 Change _WIN32 check to a _MSC_VER check in Inline.h
This is compiler dependent, not OS dependent.
2022-05-02 01:57:36 -05:00
TryTwo 95175bbb96 Debugger RegisterWidget: Add context options to change entire column's display type. 2022-04-29 17:21:39 -07:00
Shawn Hoffman 64cd4cc86f msbuild: use default Project attrs
maybe it makes the xml less scary :D
2022-04-27 15:26:43 -07:00
Shawn Hoffman 2808909a97 msbuild: simplify lang/scm projects a bit 2022-04-27 15:06:04 -07:00
Shawn Hoffman cad1f2735c msvc: disable optimizations for x64EmitterTest.cpp
40s -> 5s speedup
2022-04-27 15:06:04 -07:00
Shawn Hoffman dde2f7e637 Disable MSBuild Resource Manager 2022-04-27 15:06:04 -07:00
JosJuice 260d3faba8
Merge pull request #10614 from t895/sharp-icons
Android: Sharpen icons
2022-04-27 18:11:14 +02:00
Mai M e4695e329c
Merge pull request #10616 from shuffle2/fmt-lib
msbuild: fmt static library
2022-04-26 23:25:58 -04:00
Mai M 3897eb5bbe
Merge pull request #10617 from shuffle2/repro
msbuild: improve reproducible builds
2022-04-26 23:25:42 -04:00
Shawn Hoffman eb87245be8 msbuild: use pathmap to unify source paths embedded in objects 2022-04-26 18:14:51 -07:00
Shawn Hoffman f2c5c052bc msbuild: use pdbaltpath to strip dirname of pdb 2022-04-26 18:14:51 -07:00
Shawn Hoffman 44951a4cbc use fmt as static library instead of headers
reportedly improves compile time
2022-04-26 16:32:29 -07:00
Admiral H. Curtiss 01d4a2e9cc
TextureCacheBase: Don't log error while measuring state size. 2022-04-26 21:26:42 +02:00
Charles Lombardo dcfa610319 Android: Sharpen icons
Create vector Wii and Gamecube icons and re-import default android icons as vector graphics. Scales better on a greater range of devices and takes up less space.
2022-04-26 15:01:56 -04:00
Shawn Hoffman 5724de13b0 msbuild: brepro -> deterministic 2022-04-25 09:48:50 -07:00
Charles Lombardo 9b7c5a4458 Android: Modernize theming system
themes.xml now contains a collection of colors, attributes, and styles. No visuals have changed, but this will allow for a more flexible theming system in the future for custom day/night/etc themes. This also removes a bunch of redundant code that can now be written as global styles and inherited themes.
2022-04-24 17:37:10 -04:00
JMC47 c0488de482
Merge pull request #10251 from Pokechu22/negative-scissor
Rework scissor handling
2022-04-24 15:00:42 -04:00
Pokechu22 8e7c848425
Merge pull request #10601 from Pokechu22/vulkan-shader-compile-error
Vulkan: Improve shader compile error handling
2022-04-24 11:43:10 -07:00
JMC47 c42392c565
Merge pull request #10290 from OatmealDome/m1-earlyz-bug
DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs
2022-04-24 13:30:04 -04:00
Admiral H. Curtiss 61edcf7e4f
Merge pull request #10606 from AdmiralCurtiss/memory-widget-refactoring-1
Qt/MemoryWidget: Light refactoring and quality of life features.
2022-04-24 18:02:19 +02:00
Admiral H. Curtiss 787e3efeb8
Qt/MemoryViewWidget: Detect row breakpoint cell by cell data instead of cell position. 2022-04-24 16:22:36 +02:00
Admiral H. Curtiss 6920a24f1d
Qt/MemoryViewWidget: Add option to copy the actually displayed cell value to clipboard. 2022-04-24 16:22:36 +02:00
Admiral H. Curtiss 54ec0bd0d0
Qt/MemoryViewWidget: Don't use a member variable to hold information about the current mouse click. 2022-04-24 16:14:42 +02:00
JosJuice 6abf367676
Merge pull request #10588 from JosJuice/jitarm64-psq-stxx-q0
JitArm64: Always lock Q0 in psq_stXX
2022-04-24 10:37:45 +02:00
Admiral H. Curtiss 26f9c8b847
Qt/MemoryWidget: Don't force a fixed size for the sidebar. 2022-04-24 05:24:20 +02:00
Admiral H. Curtiss 4c080b8451
Merge pull request #10578 from TryTwo/PR_MemoryWidget_Dual_Views
Debugger MemoryWidget: Add dual views
2022-04-23 22:23:31 +02:00
JosJuice e0afcb3b94
Merge pull request #10540 from nyanpasu64/fix-gcadapter-atomics
Remove atomic usage and fix mutex locking in GCAdapter code
2022-04-23 22:04:10 +02:00
Admiral H. Curtiss 8b5a61b8fd
Merge pull request #10599 from shuffle2/libusb
Libusb fixups
2022-04-23 20:32:47 +02:00
Mai M 19c71db782
Merge pull request #10597 from Simonx22/fix-ingame-menu-design
Android: Fix in game menu rippleColor and colorEdgeEffect
2022-04-23 06:10:20 -04:00
TryTwo a7111e3910 Dual View any size. 2022-04-23 02:46:25 -07:00
JosJuice 14f9ffeb02 JitArm64: Add documentation comment for EmitBackpatchRoutine 2022-04-23 11:37:52 +02:00
JosJuice 69ca38d355
Merge pull request #10600 from t895/modern-card
Android: Modernize game card
2022-04-23 10:25:48 +02:00
Charles Lombardo 6eb9111657 Modernize game card
+Remove background on card
+Increase max # of lines for game title
+Root layout is now a linear layout with the card view rounding the corners on the box art
2022-04-22 22:01:14 -04:00
Pokechu22 784079853d VideoCommon: Add comment explaining why only the first normal gets normalized
Co-authored-by: Scott Mansell <phiren@gmail.com>
2022-04-22 16:54:38 -07:00
Pokechu22 2a5c77f43f VideoCommon: Handle emboss texgen with only a single normal
Fixes a large number of effects in Rogue Squadron 2 and 3.
2022-04-22 16:54:38 -07:00
Pokechu22 39b2854b98 VertexLoader: Convert count register to remaining register
This more accurately represents what's going on, and also ends at 0 instead of 1, making some indexing operations easier.  This also changes it so that position_matrix_index_cache actually starts from index 0 instead of index 1.
2022-04-22 16:54:38 -07:00
Pokechu22 97d0ff58c8 Convert vertex loader position cache to std::array 2022-04-22 16:54:38 -07:00
Pokechu22 f722bdf7f1 VertexLoaderX64: Refactor so that zfreeze is only in one place
(Specifically, the copy for VertexLoaderManager::position_cache.  The position matrix index happens elsewhere, and the float path still has special logic to copy to scratch3.)
2022-04-22 16:54:38 -07:00
Pokechu22 6f1350ae51 VertexLoaderARM64: Fix z-freeze position matrix index
Before, it would always write to index 0 (which is unused).  Now it writes to the correct index.
2022-04-22 16:54:38 -07:00
Pokechu22 04fdadd9d5 VideoCommon: Rename norm0/norm1/norm2 to normal/tangent/binormal 2022-04-22 16:54:36 -07:00
Pokechu22 88134a6786 VertexShaderGen: Simplify normal calculation
This is a readability change; there should be no functional or performance differences.
2022-04-22 16:51:58 -07:00
Pokechu22 0f92ab380e Vulkan: Include the info log in the shader compile error panic alert
The other backends do this, and it is helpful for quickly identifying errors during development.
2022-04-22 16:38:35 -07:00
Pokechu22 7ae71e643e Vulkan: Close the output stream on shader compile error before showing the panic alert
This fixes the file showing up as 0 bytes in Windows Explorer (although the file would still display properly when opened).
2022-04-22 16:37:43 -07:00
Shawn Hoffman 12cd81bdb3 GCAdapter: don't call libusb_detach_kernel_driver on apple 2022-04-22 09:56:47 -07:00
Shawn Hoffman 5cd3cf9072 GCAdapter: fix retval check of libusb_detach_kernel_driver 2022-04-22 09:56:47 -07:00
Shawn Hoffman 978c90845b GCAdapter: move libusb context teardown last 2022-04-22 09:56:47 -07:00
Shawn Hoffman 1c9dfb7bb6 GCAdapter: some macro cleanup 2022-04-22 09:56:47 -07:00
Shawn Hoffman f52d94832e GCAdapter: set read/write thread names 2022-04-22 07:12:09 -07:00
Mai M 2e01dc0c82
Merge pull request #10592 from AdmiralCurtiss/pointerwrap-protections
Common/PointerWrap: Prevent reads/writes past the end of the buffer.
2022-04-21 17:32:13 -04:00
Simonx22 f5f52625b9 Android: Fix in game menu rippleColor and colorEdgeEffect 2022-04-20 16:22:06 -04:00
OatmealDome 259a5fc7c0 DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs 2022-04-20 14:56:34 -04:00
OatmealDome e7f5e5172c DriverDetails: Introduce new VENDOR_APPLE for Apple GPUs 2022-04-19 10:55:27 -04:00
OatmealDome 80dfefb32e UberShaderPixel: Add support for non-dual source shader blending 2022-04-19 10:55:26 -04:00
OatmealDome c1d87db6fa PixelShaderGen: Add support for non-dual source shader blending 2022-04-19 10:55:26 -04:00
OatmealDome bad0283ff7 VKPipeline: Add shader blending support 2022-04-19 10:55:26 -04:00
Admiral H. Curtiss ef760ee012
Common/PointerWrap: Prevent reads/writes past the end of the buffer. 2022-04-18 23:48:00 +02:00
Shawn Hoffman 70507c2237 update to libusb v1.0.26
moves libusb from vendored to submodule
2022-04-17 20:01:19 -07:00
Admiral H. Curtiss 853cf4f818
Common/PointerWrap: Hide internals. 2022-04-18 03:41:14 +02:00
Mai M 3ed9d5a3c7
Merge pull request #10589 from JosJuice/android-more-init-checks
Android: Use AfterDirectoryInitializationRunner more comprehensively
2022-04-17 05:43:06 -04:00
TryTwo cc22f1a558 MemoryWidget add dual views for two separate column types. Force first column to be Hex32. 2022-04-17 00:15:44 -07:00
Pokechu22 f3eff70e2f Implement ImGui window for scissor rectangles
This is mainly for debugging, and is only exposed by manually editing the configuration.
2022-04-16 12:35:00 -07:00
Pokechu22 4d1e1db3c5 Software: Fix scissor rectangle always being block-aligned 2022-04-16 12:35:00 -07:00
Pokechu22 8745d84949 Software: Disable clipping based on xfmem
This fixes https://bugs.dolphin-emu.org/issues/12562, and is also needed for a hardware test of mine.
2022-04-16 12:35:00 -07:00
Pokechu22 925ceab82f Software: Use new scissor logic
Unlike the hardware backends, the software renderer can use multiple scissor rectangles (though this will result in extra rasterization).
2022-04-16 12:34:58 -07:00
Pokechu22 076392a0f6 VideoCommon: Rework scissor handling
This increases accuracy, fixing the white rendering in Major Minor's Majestic March.  However, the hardware backends can only have one viewport and scissor rectangle at a time, while sometimes multiple are needed to accurately emulate what is happening.  If possible, this will need to be fixed later.
2022-04-16 10:26:11 -07:00
Pokechu22 4595b89ad8 VideoCommon: Remove bSupportsOversizedViewports
I think this is a relic of D3D9.  D3D11 and D3D12 seem to work fine without it.  Plus, ViewportCorrectionMatrix just didn't work correctly (at least with the viewports being generated by the new scissor code).
2022-04-16 10:26:11 -07:00
Pokechu22 b85b35d5ea VideoCommon: Create dedicated structs for scissor pos/offset 2022-04-16 10:26:10 -07:00
JosJuice 342af6512c Android: Use AfterDirectoryInitializationRunner more comprehensively
Should fix the crash reported in https://bugs.dolphin-emu.org/issues/12885
2022-04-16 15:04:29 +02:00
Admiral H. Curtiss 0ec3f3a6ae
Merge pull request #10563 from TryTwo/PR_MemoryWidget_Display_Types
Debugger MemoryWidget: More display types, use combo box for options
2022-04-16 14:35:29 +02:00
JosJuice 2ef2d4778d JitArm64: Always lock Q0 in psq_stXX
Q0 is used as a scratch register by EmitBackpatchRoutine.

Fixes a vertex explosion in Spider-Man 2 that was uncovered by 20b2300.
2022-04-16 13:22:36 +02:00
TryTwo a2aecc3794 Debugger MemoryWidget: More display types, use combo box for display options. Add alignment and riw length options. 2022-04-15 22:00:51 -07:00
Admiral H. Curtiss 0a4805c0b9
Merge pull request #10582 from AdmiralCurtiss/fmt-float
Common/StringUtil: Use simpler formatting for floats and doubles.
2022-04-16 03:42:55 +02:00
Scott Mansell c5c4169bc8
Merge pull request #10255 from Pokechu22/sw-zfreeze
Software: Fix zfreeze with CullMode::All
2022-04-15 11:12:49 +12:00
Admiral H. Curtiss 3fdc6cbffe
Merge pull request #10486 from ttttcrngyblflpp/negative-axis-scaling
Make pos/neg analog axes symmetrical
2022-04-13 12:18:41 +02:00
Admiral H. Curtiss 5c687fc2a3
Common/StringUtil: Use simpler formatting for floats and doubles. 2022-04-12 23:35:19 +02:00
Shawn Hoffman ef8e461ca2 windows: buildfix if pch not used 2022-04-12 12:28:57 -07:00
Admiral H. Curtiss 2f90a2c689
Merge pull request #10574 from EternityShack/master
MemoryWidget: Load Files to Memory
2022-04-11 04:09:02 +02:00
EternityShack c5b0b92513 MemoryWidget: Load Files to Memory 2022-04-10 21:02:33 -05:00
JosJuice abffa93a72 MoltenVK: Fix pixel shader typo 2022-04-10 20:51:20 +02:00
Mai M e932a1bfb7
Merge pull request #10571 from AdmiralCurtiss/ffmpeg-custom-pix-fmt
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-09 14:19:39 -04:00
Pokechu22 59f299d5d6 Software: Fix zfreeze with CullMode::All 2022-04-08 20:05:32 -07:00
Pokechu22 164e0f742d Software: Store offset in Slope
This is needed since we need a separate offset for zfreeze to work correctly.  It also makes the code a bit less jank.
2022-04-08 20:05:32 -07:00
Pokechu22 3a742e99bb Software: Remove config to disable ZComploc and ZFreeze
These aren't particularly useful, and make the code a bit more confusing.  If for some reason someone wants to test what happens when these functions are disabled, it's easier to just edit the code that implements them.  They aren't exposed in the UI, so one would need to restart Dolphin to do it anyways.
2022-04-08 20:05:32 -07:00
Pokechu22 4e9a314776 Round viewport coordinates when vertex rounding is enabled
This should fix https://bugs.dolphin-emu.org/issues/9105
2022-04-08 18:30:59 -07:00
Pokechu22 dbb857b175 VertexShaderManager: Use g_ActiveConfig.UseVertexRounding() 2022-04-08 18:30:59 -07:00
Pokechu22 f6ab317374 Fix typo (GFX_HACK_VERTEX_ROUDING -> GFX_HACK_VERTEX_ROUNDING) 2022-04-08 18:30:59 -07:00
Mai M 91192efe59
Merge pull request #10573 from AdmiralCurtiss/pr10472
DolphinQt/HacksWidget: Re-enable texture accuracy slider if it was disabled because of a custom value.
2022-04-08 21:24:59 -04:00
3t13nn3 5516d468ce
DolphinQt/HacksWidget: Re-enable texture accuracy slider if it was disabled because of a custom value.
Fixes https://bugs.dolphin-emu.org/issues/12771
2022-04-09 03:01:10 +02:00
Mai M f92b7f4c87
Merge pull request #10508 from JosJuice/android-pointer-down
Android: Only use getActionIndex for ACTION_POINTER_DOWN/ACTION_POINTER_UP
2022-04-08 20:53:52 -04:00
Mai M e3106e8cdd
Merge pull request #10503 from JosJuice/android-directoryinitialization-thread
Android: Actually use a thread for DirectoryInitialization
2022-04-08 20:53:25 -04:00
Mai M 004e834c14
Merge pull request #10558 from shuffle2/lang
windows: simplify handling of gettext
2022-04-08 20:51:36 -04:00
Mai M d4e4b56047
Merge pull request #10562 from JosJuice/android-double-tap-get
Android: Fix displaying the current value of double tap setting
2022-04-08 20:50:12 -04:00
Admiral H. Curtiss df214af8a1
VideoCommon/FrameDump: Fix log messages with arguments. 2022-04-09 01:42:02 +02:00
Admiral H. Curtiss 36134abd0e
Common/LogManager: Add generic printf-style log function that takes a va_list instead of va_args. 2022-04-09 01:41:40 +02:00
Admiral H. Curtiss 3382408b8e
VideoCommon/FrameDump: Allow user to specify a pixel format. 2022-04-09 00:45:49 +02:00
Pokechu22 120208ae03
Merge pull request #10543 from Minty-Meeo/initmmio-combine
Combine InitMMIO and InitMMIOWii
2022-04-08 14:35:03 -07:00
Admiral H. Curtiss 23508cafb2
Merge pull request #7675 from TryTwo/Debugger_Code_Features
Debugger: Get target memory in load/store instructions
2022-04-08 05:28:22 +02:00
Admiral H. Curtiss 5fda8ee8ec
Core/WGInput: Dynamically load winrt function addresses. 2022-04-08 03:26:09 +02:00
JMC47 e02194057b
Merge pull request #10412 from Pokechu22/sw-efb-peek-alpha
Software: Implement pixel engine alpha read mode
2022-04-07 17:01:56 -04:00
JosJuice 7a33659e7b
Merge pull request #10485 from JosJuice/real-ocol0-logic-ops
Shadergen: Use real_ocol0 workaround for shader logic ops
2022-04-07 21:00:24 +02:00
JosJuice 6a326a9f73
Merge pull request #10544 from AdmiralCurtiss/default-font-size-workaround
Qt: Set font size for default debug font.
2022-04-07 20:59:17 +02:00
JosJuice 17b17e3236
Merge pull request #10552 from Gamer64ytb/display-cutout
Android: Implement expand display cutout option.
2022-04-07 20:58:22 +02:00
JosJuice a8654e2c69
Merge pull request #10560 from JosJuice/android-wii-disc-update
Android: Implement installing system update from disc image
2022-04-07 20:58:09 +02:00
Pokechu22 6e83e36beb msbuild: Move WGInput to DolphinLib.props
It was accidentally put into the main DolphinLib.vcxproj in #7614.
2022-04-07 11:37:12 -07:00
Sepalani 5b658e77df MemoryWidget: Fix preview of zero as float/double 2022-04-07 11:55:23 +04:00
Admiral H. Curtiss 368342cb9b
Merge pull request #10528 from TryTwo/PR_Debugger_Memory_Input_Types
Debugger: MemoryWidget: add float and integer input types. Add input preview.
2022-04-07 02:13:21 +02:00
TryTwo ed96b8e308 Debugger MemoryWidget: add float and integer inputs. Add input preview. Change input logic. Use combobox for options. 2022-04-06 16:20:55 -07:00
Admiral H. Curtiss 242cd4cbea
Merge pull request #10555 from Dentomologist/fix_manual_update_check_when_autoupdate_disabled
Updater: Fix manual update check when autoupdate is disabled
2022-04-06 14:38:25 +02:00
JosJuice 4120870628 Android: Remove nonsense code from double tap setting dialog
The currentValue variable doesn't use InputOverlay.OVERLAY_
constants, it uses NativeLibrary.ButtonType constants.

Sigh, why do enums have to be so bad on Android that Google
recommends against using them :(

Anyway, simply not doing anything is a reasonable option here.
What happens then is that if the currently selected button is
invalid for the current controller, none of the available options
in the dialog will be pre-selected.
2022-04-05 19:08:58 +02:00
JosJuice cdff426d23 Android: Fix displaying the current value of double tap setting 2022-04-05 18:58:29 +02:00
Jordan Woyak 566dfc1cf4 ControllerInterface: Update sort priorities. 2022-04-03 19:03:44 -05:00
Jordan Woyak 076a262b9e InputCommon: Add Windows.Gaming.Input to ControllerInterface. 2022-04-03 19:03:35 -05:00
Gamer64ytb bed91750e1 Android: Implement expand display cutout option.
Some ROMs don't have fullscreen feature, for example Pixel Experience, so have a option for that is better. Also you don't need put the app on fullscreen anymore with that.
2022-04-03 14:26:37 +02:00
JosJuice 57733ddc70 Android: Implement installing system update from disc image 2022-04-03 11:15:28 +02:00
Shawn Hoffman 818f6c81ed msbuild: don't explicitly set _SECURE_SCL 2022-04-02 15:25:42 -07:00
Shawn Hoffman db4d81b9a8 windows: simplify handling of gettext
fixes binplace on first build
2022-04-02 15:24:46 -07:00
Dentomologist c8d953d0c6 Updater: Fix manual update check when autoupdate is disabled 2022-04-02 12:22:06 -07:00
Admiral H. Curtiss 113fdc959d
Merge pull request #10534 from AdmiralCurtiss/more-cheat-search-qol
DolphinQt: More Cheat Search QoL
2022-04-02 15:17:15 +02:00
Shawn Hoffman e6ed77b5f6 msvc: enable conformant __cplusplus macro 2022-04-02 02:46:22 -07:00
Admiral H. Curtiss 25c173cefc
Merge pull request #8732 from dreamsyntax/debugger-function-differencing
Qt/Debugger CodeWidget: Record and find specific functions by differencing
2022-04-02 05:42:33 +02:00
Admiral H. Curtiss 1942629d9a
DolphinQt/CheatSearchWidget: Drop whitespace when parsing integers and floats from the user. 2022-03-31 05:40:51 +02:00
Admiral H. Curtiss 7f2fed0f68
DolphinQt/CheatsManager: Don't leak closed cheat search tabs. 2022-03-31 05:40:51 +02:00
Admiral H. Curtiss 48c4ebeee0
DolphinQt/CheatSearchWidget: Remember state of Hex checkboxes across sessions. 2022-03-31 05:40:51 +02:00
Admiral H. Curtiss 1ad7aac008
Qt: Set font size for default debug font. 2022-03-31 05:28:39 +02:00
Admiral H. Curtiss 4957b2edb9
Merge pull request #10530 from shuffle2/win-ffmpeg
windows: move ffmpeg bins to submodule
2022-03-31 05:24:00 +02:00
Admiral H. Curtiss cc3f8204da
Merge pull request #10542 from TryTwo/PR_MemoryViewWidget_Spacing
Debugger MemoryViewWidget: fixed, tighter spacing
2022-03-30 22:53:05 +02:00
Shawn Hoffman 4fad2c26e4 framedump: enable compat with utvideo codec 2022-03-29 17:27:59 -07:00
Shawn Hoffman decaea8f9b FrameDump: improve debug logging 2022-03-29 17:27:59 -07:00
Shawn Hoffman 09432ef098 windows: move ffmpeg bins to submodule
udpate ffmpeg to b1cbeabf5e4b3234e895a58bafa371bfb792baf0
enable ffmpeg on arm64
2022-03-29 17:27:46 -07:00
Pokechu22 af316f7bfe Software: Implement pixel engine alpha read mode 2022-03-29 15:34:43 -07:00
Pokechu22 8882eb040a PixelEngine: Convert to BitField and enum class 2022-03-29 15:34:43 -07:00
Pokechu22 45b8ebeb25 PixelEngine: Remove old comment
This comment was added in 76d24f2c0d (the link was updated in 5799824b22, but both are dead now).  An archived version is at https://web.archive.org/web/20090830050441/http://developer.nvidia.com/object/General_FAQ.html#t6 but it's about the number of available texture units, which doesn't seem relevant to PixelEngine.
2022-03-29 15:34:43 -07:00
TryTwo 8f85e384c3 Debugger MemoryViewWidget: fixed, tighter spacing 2022-03-29 14:16:25 -07:00
Minty-Meeo fbc9bf2342 Combine InitMMIO and InitMMIOWii 2022-03-29 01:21:17 -05:00
Charles Lombardo 8a0c6816dd Android: Fix games list padding
Use clipToPadding="false" to prevent top white bar when scrolling
2022-03-28 09:58:01 -04:00
nyanpasu64 b5a7ae52b5 Fix locking the wrong mutex in GCAdapter_Android.cpp ResetRumble()
I am not confident there are no race conditions between s_write_mutex,
s_controller_write_payload_size, and s_controller_write_payload. But
this code should be safer than before.
2022-03-27 22:39:26 -07:00
nyanpasu64 7616027684 Remove unnecessary atomic usage in GCAdapter_Android.cpp
s_controller_write_payload_size needs to remain an atomic because Read()
loads and stores without holding a mutex, Output() stores while holding
s_write_mutex, and ResetRumble() stores while holding s_read_mutex! I'm
pretty sure this code is wrong, specifically ResetRumble().
2022-03-27 22:39:26 -07:00
nyanpasu64 871b01a5d9 Remove unnecessary atomic usage in GCAdapter.cpp
You can safely read or write non-atomic integers on multiple threads,
as long as every thread reading or writing it holds the same mutex
while doing so (here, s_mutex).

Removing the atomic accesses makes the code faster, but the actual
performance difference is probably negligible.
2022-03-27 22:27:57 -07:00
Mai M c08a23b374
Merge pull request #10537 from Simonx22/android-sv2
Android: Increase target and compileSdk version to 32 (Android 12L/Sv2)
2022-03-27 15:14:48 -04:00
JosJuice 11c4385b36 Android: Mark MAIN_FALLBACK_REGION as not runtime editable
Trying to change it while a game is running does nothing.
DolphinQt already inactivates it while a game is running.
2022-03-27 18:45:01 +02:00
JosJuice f12681ba93
Merge pull request #10532 from t895/material3-migration
Android: Inherit from Material 3 themes and round corners on box art
2022-03-27 18:32:22 +02:00
Admiral H. Curtiss b379df360a
Merge pull request #10497 from martinD2014/master
Change the highlighted button on each window
2022-03-27 16:05:23 +02:00
Charles Lombardo b8013ff3a0 Android: Inherit from Material3 themes and round corners on box art 2022-03-26 14:54:23 -04:00
dreamsyntax 88a1acdfc0 implement CodeDiffTool Feature
Add Diff button to CodeWidget
Add Code Diff Tool window for recording and differencing functions. Allows finding specific functions based on when they run.
2022-03-26 11:41:08 -07:00
Simonx22 73f94e76b9 Android: Increase target and compileSdk version to 32 (Android 12L/Sv2) 2022-03-26 10:55:26 -04:00
Charles Lombardo fde39b455c Begin style migration to Material3
Use large card view rounded corner guidelines

Fix action bar theming

Needed to import android back button clip art to fix material 3 theming issue. The DolphinSettingsBase style used to inherit from the Theme.MaterialComponents.DayNight.DarkActionBar theme which would provide the light text and icons but this is no longer available with Material 3.

Fit box art more snugly in CardView

Change card height to match cover art

Add padding to top of games list recyclerview
2022-03-26 10:16:17 -04:00
Admiral H. Curtiss 379de5de15
Merge pull request #10375 from Pokechu22/imgui-assert
Externals: Use Common ASSERT for IM_ASSERT
2022-03-26 05:53:59 +01:00
Admiral H. Curtiss 57d8f2112c
Merge pull request #10514 from JosJuice/datel-no-gametdb
DiscIO: Don't return GameTDB ID for any Datel disc
2022-03-26 03:38:57 +01:00
Pokechu22 30a34d06c1 RenderBase: Add call to IMGUI_CHECKVERSION() 2022-03-25 10:24:07 -07:00
Admiral H. Curtiss e58cf36ca1
Merge pull request #10079 from sepalani/neg-offset
MemoryWidget: Add negative offset search support
2022-03-25 07:09:08 +01:00
Sepalani d5916fd14c MemoryWidget: Add negative offset search support 2022-03-24 23:06:25 +04:00
JosJuice c8f4800fb2
Merge pull request #10531 from iwubcode/opengl_objlabel_fix
VideoBackends: fix opengl object label identifier
2022-03-24 18:02:32 +01:00
iwubcode 69e79045a3 VideoBackends: fix opengl object label which was given an invalid enumeration as the identifier parameter. Most implementations will warn in this case but there is an implementation that will crash (ANGLE) 2022-03-24 00:25:59 -05:00
Admiral H. Curtiss 1a5a52c00c
Merge pull request #10507 from JosJuice/convertcommand-non-gc-wii
DolphinTool: Allow converting non-GC/Wii files
2022-03-23 22:47:41 +01:00
Admiral H. Curtiss c661a75961
DolphinQt: Set emulation speed setting only when the combobox is actually touched. 2022-03-22 19:19:47 +01:00
JosJuice d0d27028a0 DolphinTool: Allow converting non-GC/Wii files
This was requested by a forum user, and I thought why not.
It's a simple change to make since DiscIO already supports it,
and I assume command-line users know roughly what they're doing.
2022-03-22 18:59:01 +01:00
Admiral H. Curtiss b466b9ef85
Merge pull request #10464 from Zarklord/override-wii-boot-ios
Add Override for Boot IOS for Wii Titles
2022-03-22 03:01:44 +01:00
JMC47 bb7f0e18dd
Merge pull request #10524 from JosJuice/angle-in
VideoCommon: Remove redundant in qualifiers
2022-03-21 19:16:13 -04:00
JosJuice f1f02180fa VideoCommon: Remove redundant in qualifiers
ANGLE raises a compilation error otherwise.
2022-03-21 22:16:25 +01:00
Zachary Lockwood 9130ad8fbe Add support for overriding the IOS that boots with a wii game 2022-03-20 09:47:06 -04:00
Admiral H. Curtiss 7b0d5f2df3
Merge pull request #10491 from Minty-Meeo/dolphin-tool-more-stuff
More dolphin-tool features and options
2022-03-20 05:43:53 +01:00
Minty-Meeo deba9ce256 Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool
New dolphin-tool command: "header"
-b / --block_size
-c / --compression
-l / --compression_level

Informative RVZ/WIA header2 value "compression_level" is now a s32 instead of a u32, because negative compression is a thing.

Speaking of, it is now possible to use negative compression levels in dolphin-tool's convert command (not the GUI, though).
2022-03-19 17:13:28 -05:00
Admiral H. Curtiss a3f83d92d1
Merge pull request #10515 from JosJuice/android-user-data-clarification
Android: Clarify what we mean by "user data"
2022-03-19 21:05:17 +01:00
JosJuice 9f606734c3
Merge pull request #10513 from JosJuice/android-update-dependencies
Android: Update dependencies
2022-03-19 20:29:41 +01:00
Admiral H. Curtiss f5657d0a83
Merge pull request #10174 from dreamsyntax/panic-handles-restore-messages
DolphinQt: Add "Reset Ignore Panic Handler" MenuBar Option
2022-03-19 16:52:20 +01:00
Admiral H. Curtiss 676713e036
Re-enable Auto-Update when building with VS project files. 2022-03-19 15:30:28 +01:00
JMC47 edd63d8c3f
Merge pull request #10519 from jordan-woyak/fix-hotkey-detections
MappingCommon: Fix detection of hotkey and conjunction expressions.
2022-03-19 00:41:00 -04:00
Pierre Bourdon f73b2d70a6
Merge pull request #10516 from OatmealDome/steam
CMakeLists: Add flag to enable / disable automatic update support
2022-03-18 08:33:13 +01:00
OatmealDome e23df9369d CMakeLists: Add option to disable automatic update support 2022-03-18 03:04:51 -04:00
TryTwo 53cf78d413 Gekko constistancy changes. Add context item to codeview to show or copy a load/store target memory address from instructions at or near PC when paused. 2022-03-17 12:53:38 -07:00
Jordan Woyak b589d720bf MappingCommon: Fix detection of hotkey and conjunction expressions. 2022-03-16 22:25:04 -05:00
JosJuice c0f6aa7ab1 Android: Clarify what we mean by "user data" 2022-03-15 19:29:08 +01:00
JosJuice 479489c999 DiscIO: Don't return GameTDB ID for any Datel disc
DTLX01 can be either a Freeloader or Action Replay, so it's
inappropriate to always use the same title and cover for it.
2022-03-15 18:56:49 +01:00
JosJuice f9f561ced1 Android: Update dependencies 2022-03-15 18:19:28 +01:00
JosJuice f5b6cccd32 Android: Update Android Gradle Plugin 2022-03-15 18:19:07 +01:00
Léo Lam bf261f6144
Merge pull request #10493 from jordan-woyak/netplay-show-traversal-external-port
NetPlayDialog: Display external IP/Port as seen by the traversal server.
2022-03-15 16:03:28 +01:00
Léo Lam e10967e918
Merge pull request #10502 from Pokechu22/defer-gcadapter
GCAdapter: Defer initialization until MainWindow::InitControllers
2022-03-15 16:00:28 +01:00
Léo Lam da6f86f381
Merge pull request #10496 from JosJuice/mappingcommon-split
Move parts of MappingCommon out of DolphinQt
2022-03-15 15:54:04 +01:00
Léo Lam a99c993f1d
Merge pull request #10509 from JosJuice/freeloader-too-small
VolumeVerifier: Skip "lacks some data" check for Datel discs
2022-03-15 15:47:55 +01:00
Léo Lam a39d11c47a
Merge pull request #10501 from jordan-woyak/dolphin-tool-no-need-for-a-unique-ptr
DolphinTool: Kill an unnecessary unique_ptr.
2022-03-15 15:46:35 +01:00
Léo Lam c883ec1c53
Merge pull request #10512 from stblr/device-change
USBv5: Fix racy device change behavior
2022-03-15 15:45:40 +01:00
Jordan Woyak c058c8e1a6 NetPlayDialog: Display external IP/Port as seen by the traversal server when it's used. 2022-03-15 01:56:16 -05:00
Techjar 302dedbd24 NetPlay: Introduce constant for peer timeout 2022-03-15 01:26:55 -04:00
Pablo Stebler 7e7b0971ab
USBv5: Fix racy device change behavior
This prevents the device changes happening between 2 GETDEVICECHANGE
calls from being missed by the application.
2022-03-14 22:32:30 +01:00
Techjar b1122ec94f NetPlay: Add timeout to traversal code path
Amendment to 600c816 as I missed the traversal case.
2022-03-14 00:19:54 -04:00
JosJuice 41adf3cd53 DiscIO: Treat game ID DTLX01 as a Datel disc
Needed for the disc mentioned in the previous commit.
2022-03-12 22:27:58 +01:00
JosJuice 6d1a344aab VolumeVerifier: Skip "lacks some data" check for Datel discs
Turns out there's some Freeloader disc for the GC that triggers this
despite being a good dump. This warning is mostly intended to catch
Wii games that have been truncated at the 4.00 GiB or 4.38 GiB mark
anyway, and if someone does have a Datel dump that has been truncated,
they'll still get the "unusual size" warning.
2022-03-12 22:24:38 +01:00
JosJuice 2e1f89025f Android: Only use getActionIndex for ACTION_POINTER_DOWN/ACTION_POINTER_UP
According to the documentation, getActionIndex should only be
used with ACTION_POINTER_DOWN and ACTION_POINTER_UP. We've had a
few crashes reported in the Play Console regarding invalid pointer
indices for getY, and I'm hoping this will help with that.
2022-03-12 21:20:00 +01:00
JosJuice 905e86d754
Merge pull request #10451 from JosJuice/skip-redundant-flushes
Jit: Skip redundant flushes
2022-03-12 12:32:02 +01:00
JosJuice 7a3c719739
Merge pull request #10453 from JosJuice/output-in-use
PPCAnalyst: Count outputs as being in use
2022-03-12 12:31:42 +01:00
Pokechu22 37806472e1 GCAdapter: Defer initialization until MainWindow::InitControllers
If libusb fails to initialize, an assertion fails, but if that happens before the main window is created, then Dolphin just dies.  Now, the panic alert is properly shown and the user can ignore it.
2022-03-10 10:35:45 -08:00
Pokechu22 0f3832dec6 Common/FileUtil: Change logging to debug level
These messages hid other, more important, ones often.  I have left AttemptMaxTimesWithExponentialDelay and GetSysDirectory/SetSysDirectory as info, since those are called infrequently and can be useful to the end-user.
2022-03-08 14:07:37 -08:00
Pokechu22 c657b80996 Software/EfbInterface: Remove logspam for RGB565_Z16 being unsupported
This message would be logged, usually multiple times, for EVERY. SINGLE. PIXEL. That's pretty much useless and just makes the log unreadable. Plus, the current support (which acts as RGB8) is close enough that for end-user purposes, it's fine.  I don't think the hardware backends support RGB565_Z16 and its antialiasing functionality correctly either, but they don't have similar logspam.
2022-03-08 13:59:55 -08:00
JosJuice da12ff02fc Android: Actually use a thread for DirectoryInitialization
`((Runnable) () -> init(context)).run()` is just a more complicated way
of writing `init(context)`, and doesn't on its own launch a thread.
2022-03-08 22:29:07 +01:00
Jordan Woyak f711b8dbae DolphinTool: Kill an unnecessary unique_ptr. 2022-03-08 02:00:26 -06:00
Martin a4d031cfda Add NonDefaultQPushButton to set autoDefault of buttons to false 2022-03-08 08:51:29 +01:00
Shawn Hoffman a546c451b7 windows: wrap all main funcs with utf8 conversions
fixes 12858
2022-03-07 23:24:21 -08:00
JosJuice 1bc057614e Move parts of MappingCommon out of DolphinQt
Some of the functions in MappingCommon would be useful to use on
mobile in the future.
2022-03-06 14:30:49 +01:00
JosJuice 5446daaef9 Common: Make DynamicLibrary non-copyable
The default implementations of DynamicLibrary's copy and move
constructors and assignment operators are unsafe.
2022-03-05 23:40:41 +01:00
Léo Lam d32c72038a
Merge pull request #10467 from Dentomologist/fix_scalar_initializer_braces_warning
Debugger: Fix warning on Debian builder
2022-03-02 12:56:09 +01:00
Léo Lam c7361bc1b3
Merge pull request #10474 from Pokechu22/log-ogl-video-info
OGLRender: Log video backend info, in addition to showing it via OSD
2022-03-02 12:29:51 +01:00
Léo Lam bcc14d32b8
Merge pull request #10482 from Dentomologist/remove_redundant_statement
FileUtil: Remove redundant statement
2022-03-02 12:27:21 +01:00
Léo Lam ebfee3b2de
Merge pull request #10484 from AdmiralCurtiss/general-pane-signalblocker
Qt/GeneralPane: Don't trigger config change events when populating GUI.
2022-03-02 11:59:02 +01:00
Léo Lam 666db19436
Merge pull request #10322 from Starsam80/nand
NANDImporter: Various improvements and cleanup
2022-03-02 11:56:11 +01:00
Starsam80 41a3368889
NANDImporter: Only read the AES key once
There is no need to constantly reset the key for every file entry.
2022-03-01 19:24:59 -07:00
Starsam80 80012ae253
NANDImporter: Make superblocks less magical
Create a struct describing the superblock layout and use it directly
without needing to specify offsets and such.
2022-03-01 19:24:59 -07:00
Starsam80 73151a5753
NANDImporter: Don't pass paths if we don't need to 2022-03-01 19:24:59 -07:00
Starsam80 6758c77c39
NANDImporter: Reduce recursion in `ProcessEntry`
It also simplifies the code flow, as it no longer goes backwards
through the filesystem chain.
2022-03-01 19:24:59 -07:00
Starsam80 2ccd974471
NANDImporter: Improve NANDFSTEntry
`uid` is a u32, not a u16. Also, everything is big endian, so we
can simplify the code a little bit.
2022-03-01 19:24:59 -07:00
Pierre Bourdon 8ecfa537a2
Merge pull request #10473 from delroth/autoupdate-fail
Fix manual update check which was hardcoded to "dev" track
2022-03-02 00:10:48 +01:00
Starsam80 643057fea2
NANDImporter: Make a class variable for the NAND root 2022-03-01 15:07:59 -07:00
JMC47 ea116fbbdf
Merge pull request #9834 from AdmiralCurtiss/fastmem-reserve-region-linux
MemArena: Keep fastmem memory region mapped on Linux to ensure nothing allocates within the fastmem space.
2022-02-28 12:46:34 -05:00
JosJuice bbb64ff993 Shadergen: Use real_ocol0 workaround for shader logic ops
Previously we were using this workaround when using framebuffer fetch
to emulate dual source blending, but it seems like we also need to use
it when using framebuffer fetch to emulate logic ops, otherwise some
Adreno devices get a crash when compiling OpenGL ES ubershaders.

Using the workaround in specialized shaders doesn't seem to be
necessary, but I've made the same change there for consistency.

This gets us closer to fixing https://bugs.dolphin-emu.org/issues/12791
but doesn't actually fix it.
2022-02-28 18:32:19 +01:00
JMC47 f65dc6d525
Merge pull request #10441 from OatmealDome/improved-logic-op-workaround
BlendingState: Set source and destination alpha factors in logic op workaround
2022-02-28 12:17:25 -05:00
JMC47 20e4e34e91
Merge pull request #10487 from JosJuice/android-savestate-spacing
Android: Set letterSpacing for savestate options
2022-02-28 12:13:10 -05:00
JosJuice 608799f1e4 PixelShaderGen: Check uid_data for use_shader_logic_op
On devices which have hardware support for dual source blending
but not logic ops, this lets us skip performing the framebuffer
fetch in situations where the game isn't actually using logic ops.
2022-02-28 00:04:31 +01:00
JosJuice 8588272b3b Android: Set letterSpacing for savestate options
fbe7cf6 set this for most buttons in the in-game menu but missed
the savestate-related buttons and Unpause Emulation.
2022-02-27 22:45:21 +01:00
Tony Gong c95c43bfb6 Make pos/neg analog axes symmetrical
Currently, the axes for the main and C sticks range from 0-255, with
128 being the mid-point; but this isn't symmetrical: the negative axis
has 128 values not including 0, while the positive axis has 127 values
not including 0.

Normalizing so that the range is 1-255 makes the positive and negative
axes symmetrical. The inability to yield 0 shouldn't be an issue as a
real GC controller cannot yield it anyway.
2022-02-27 09:58:21 -08:00
Admiral H. Curtiss 1fd9a1117e
Qt/GeneralPane: Don't trigger config change events when populating GUI. 2022-02-27 17:56:35 +01:00
Admiral H. Curtiss aa0ac83997
Merge pull request #10468 from JosJuice/sd-card-callback
Use config changed callback to detect SD insertion/ejection
2022-02-26 17:31:31 +01:00
Mai M c474db9301
Merge pull request #10407 from JosJuice/android-reset-callback
Android: Call OnConfigChanged when resetting a setting
2022-02-26 11:24:18 -05:00
Dentomologist 01bd5e15ba FileUtil: Remove redundant statement 2022-02-25 21:16:07 -08:00
Pokechu22 7d76eea4ea OGLRender: Log video backend info, in addition to showing it via OSD
This is mainly intended for debugging fifo.ci.
2022-02-23 18:30:02 -08:00
JMC47 75ad057b08
Merge pull request #10405 from JosJuice/android-no-boot-timeout
Android: Get rid of the boot timeout
2022-02-23 15:40:54 -05:00
Pierre Bourdon 281dfd3e6a
Fix manual update check which was hardcoded to "dev" track 2022-02-23 18:39:28 +01:00
Pokechu22 5b3b6a7f1d
Merge pull request #10471 from Pokechu22/flush-efb-pokes-before-peeking
FramebufferManager: Flush pending EFB pokes in PopulateEFBCache
2022-02-22 17:09:34 -08:00
JMC47 5da55c9e18
Merge pull request #10406 from JosJuice/android-mipmap-swap
Android: Fix swapped texture dumping description strings
2022-02-22 16:53:26 -05:00
Mai M 32d28e4d57
Merge pull request #10469 from JosJuice/android-remove-legacybooleansetting
Android: Get rid of LegacyBooleanSetting
2022-02-21 20:39:59 -05:00
Pokechu22 23cbd570a1 FramebufferManager: Flush pending EFB pokes in PopulateEFBCache
I.e. flush pokes before running an EFB peek, if the cache tile isn't present.  If the cache tile is present, then EFB pokes should have been written to the cache tile and thus don't need to be flushed.
2022-02-21 13:23:22 -08:00
JosJuice 128fa8aec3
Merge pull request #10388 from Dentomologist/android-fix-unused-variable-warning
[Android] Fix unused variable warning
2022-02-20 18:56:50 +01:00
JosJuice 2273742f9e Android: Get rid of LegacyBooleanSetting 2022-02-20 14:00:48 +01:00
JosJuice 90c576e075 Use config changed callback to detect SD insertion/ejection
This saves the GUI from having to manually call SDIO_EventNotify.
With that out of the way, we can let users change the
"Insert SD Card" setting on Android while a game is running.
2022-02-20 10:55:55 +01:00
Dentomologist d20f3c9e64 Debugger: Fix warning on Debian builder
Fix "braces around scalar initializer [-Wbraced-scalar-init]" warning
2022-02-19 08:50:15 -08:00
Mai M db0ca3fc96
Merge pull request #10463 from JosJuice/android-remove-legacyintsetting
Android: Get rid of LegacyIntSetting
2022-02-18 17:26:19 -05:00
JosJuice 1b76171a27 Android: Get rid of LegacyIntSetting
The only settings that were using LegacyIntSetting are now in the new
config system, so there's no reason to have LegacyIntSetting anymore.
2022-02-18 22:17:39 +01:00
Léo Lam bb7475ee2a
Merge pull request #10429 from Zopolis4/mapurge
Remove the Maps folder from the Sys directory
2022-02-18 21:40:09 +01:00
Léo Lam 0c78167404
Merge pull request #10443 from JosJuice/port-wiimote-source
Port Wiimote source settings to the new config system
2022-02-18 21:38:02 +01:00
JosJuice aff45c91fc Port Wiimote source settings to the new config system
This lets us finally get rid of BootManager's ConfigCache!
2022-02-18 21:27:10 +01:00
JosJuice 9ebfdff6b4
Merge pull request #10423 from Pokechu22/improperly-exclusive-radio-buttons
Fix improperly exclusive radio buttons
2022-02-18 21:20:14 +01:00
JosJuice 35b436bd6b
Merge pull request #10377 from Pokechu22/warning-fixes-jan-2022
Fix several compile warnings on GCC
2022-02-18 21:05:42 +01:00
Léo Lam 92455f7cef
Merge pull request #10446 from AdmiralCurtiss/unbreak-shift
HotkeyManager: Change defaults for GBA hotkeys so they don't conflict with common keyboard mappings.
2022-02-18 19:09:36 +01:00
Léo Lam eb98bcd2ae
Merge pull request #10455 from Pokechu22/directly-map-fifo-breakpoint
CommandProcessor: Add FIFO_BP_LO/HI to directly_mapped_vars
2022-02-18 18:54:06 +01:00
Léo Lam fa059b20ba
Merge pull request #10460 from Dentomologist/convert_option_type_to_enum_class
VideoCommon: Convert OptionType to enum class
2022-02-18 18:40:59 +01:00
Léo Lam 067fbe8f86
Merge pull request #10376 from shuffle2/uidctor
GXPipelineUid: remove explicit shallow copy where it's the default
2022-02-18 18:39:59 +01:00
Mai M 8b0c6af75a
Merge pull request #10459 from Dentomologist/convert_movie_playmode_to_enum_class
Movie: Convert PlayMode to enum class and move to cpp file
2022-02-18 10:00:33 -05:00
Mai M 1e126d23e6
Merge pull request #10457 from Pokechu22/movie-no-pause-menubar-desync
Fix menu bar becoming desynced when Pause at End of Movie is disabled
2022-02-18 09:59:32 -05:00
Techjar 63181f0446 ShaderGenCommon: Add missing <functional> include 2022-02-18 06:34:01 -05:00
Dentomologist edbe202aa3 VideoCommon: Convert OptionType to enum class 2022-02-17 10:03:08 -08:00
Dentomologist f56251168e Movie: Convert PlayMode to enum class and move to cpp file 2022-02-16 16:04:36 -08:00
Merry be81fe86e1 JitRegister: Use fmt
Prefer fmt to printf-style formatting.
2022-02-16 20:09:38 +00:00
Pokechu22 a81b44f697 Fix menu bar becoming desynced when Pause at End of Movie is disabled
Previously, when Pause at End of Movie was disabled, the game would continue running as it should, but the menu bar would think the game was paused, showing the play button instead of the pause button.  To make things worse, clicking the play button would then restart the game, instead of pausing or doing nothing.  F10 paused/unpaused as normal, though.

The old behavior was essentially to enable stepping/pause mode (via `CPU::Break()`) and then if Pause at End of Movie was disabled, to un-pause on the host thread (via `CPU::EnableStepping(false)`).  For reasons which aren't entirely clear to me, the first one notified the menu bar (through the `Host::UpdateDisasmDialog` callback, not the `Settings::EmulationStateChanged` one), and the second did not.  In any case, this approach does not particularly make sense; I don't see any reason to pause and unpause if Pause at End of Movie is disabled; instead, we should only pause when Pause at End of Movie is enabled.

This behavior was probably introduced in c1944f623b, though I haven't tested it.
2022-02-16 11:07:12 -08:00
Pokechu22 68d987bbee CommandProcessor: Add FIFO_BP_LO/HI to directly_mapped_vars
directly_mapped_vars was added in #69 (4129b30494), but for some reason FIFO_BP_LO/HI were split out from it in in #885 (65af90669b).  As far as I can tell, this code (and the code that existed at the time) is identical, so there's no reason to have it handled separately.
2022-02-15 22:34:31 -08:00
Zopolis4 5e4d1f732d
Remove the Maps folder from the Sys directory
It only had two out of date and game-specific maps from decades ago
2022-02-16 12:32:25 +11:00
Admiral H. Curtiss ffbe6cb21f
MemArena: Keep fastmem region mapped on Linux. 2022-02-14 22:14:41 +01:00
JosJuice 20b2300ce1 PPCAnalyst: Count outputs as being in use
In a code block where a guest register is accessed at least twice and the
last access is a write and the register is not discardable immediately
after the second-to-last instruction (perhaps there is an instruction
in between that can cause an exception), currently Dolphin's JITs will
flush the register after the second-to-last instruction.

It would be better if we replaced the flush after the second-to-last
instruction with a flush that only happens if the exception path is
taken. This change accomplishes that by marking guest registers as
"in use" not just when they are used as inputs but also when they are
used as outputs, preventing the loop in DoJit from flushing the
register until after the last access.
2022-02-14 22:09:21 +01:00
Admiral H. Curtiss 4a9553bf6d
MemArena: Load UnmapViewOfFileEx dynamically to restore Windows 7 support. 2022-02-14 21:57:18 +01:00
Admiral H. Curtiss 3a4de2b306
MemArena: Use Common::DynamicLibrary for m_api_ms_win_core_memory_l1_1_6_handle. 2022-02-14 21:57:15 +01:00
JosJuice fd511a689f Jit: Skip redundant flushes
This makes codegen faster (by perhaps 10-20% in the case of Jit64,
I didn't measure too closely), which helps speed up NBA Live 2005
a little. But the game still has serious performance issues.
2022-02-14 19:17:59 +01:00
Pokechu22 d2ebbfb91a GDB Stub: Make s_socket_context static 2022-02-13 14:38:59 -08:00
Pokechu22 50d9349926 Fix integer sign difference comparison warnings 2022-02-13 14:38:59 -08:00
Pokechu22 5f9e04be1d DSPJit: Suppress offsetof conditionally-supported warnings
The DSP JIT only applies on x64, so if it doesn't work on esoteric compilers then that's not a problem.  (And if it fails to compile, then it'll still produce an error on that platform, just no warnings on other platforms)
2022-02-13 14:38:59 -08:00
Pokechu22 15f80f7234 MathUtil: Mark lo in SaturatingCast as [[maybe_unused]]
It's unused in the case that T is unsigned and dest is signed (e.g. SaturatingCast<int, size_t> which appears SetIsoPaths in MainSettings.cpp)
2022-02-13 14:38:59 -08:00
Pokechu22 a6d516dc94 Fix shadowing variables in labmdas
GCC generates warnings about these, although the variable being shadowed is not captured by the lambda.
2022-02-13 14:38:59 -08:00
Pokechu22 0e23dfbb25 FifoDataFile: Stop ignoring size
The size variable started to be unused when I created std::array variants of ReadArray, but we should follow it in case any files have fewer registers stored than they should (otherwise the remaining registers would end up with garbage data from later in the fifolog).  Though, there probably aren't many fifologs where this is relevant.
2022-02-13 14:38:59 -08:00
Pokechu22 a720596771 GDB Stub: Fix typo mixing ppcState.spr and ppcState.sr
This resulted in an out-of-bounds array access, since sr is only 16 entries long and SPR_IBAT0U evaluates to 528.
2022-02-13 14:38:59 -08:00
Pokechu22 3b5faf90f3 FifoAnalyzer: Fix "enumeration value ‘NotPresent’ not handled in switch" warning 2022-02-13 14:38:59 -08:00
Pokechu22 edec1d5e3a Work around false SLOTS defined but not used warning on GCC
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80351
2022-02-13 14:38:53 -08:00
Pokechu22 7c91acb000
Merge pull request #10449 from Pokechu22/unknown-opcode-log
CommandProcessor: Move unknown opcode log message before the panic alert and log ignored unknown opcodes at warn level
2022-02-13 14:37:06 -08:00
JMC47 86dbf768b9
Merge pull request #10447 from JosJuice/resetcodeptr-on-decrement
Common/CodeBlock: Call ResetCodePtr when decreasing region_size
2022-02-13 17:25:11 -05:00
Pokechu22 07578d8f1d CommandProcessor: Log ignored unknown opcodes at warn level
Large amounts of logging can have an impact on performance, so moving the ones that have been determined to not matter to the warn level gives a way to hide those messages without hiding actual errors (and also gives a fast visual way of distinguishing between ignored and non-ignored ones due to the different colors).
2022-02-13 14:16:05 -08:00
Pokechu22 4ea9287a09 CommandProcessor: Move unknown opcode log message before the panic alert
This way, the extra information is already in the log by the time the panic alert appears, which is slightly more convenient for debugging.
2022-02-13 14:15:54 -08:00
Pokechu22 97482a61c6 CommandProcessor: Ignore unknown opcode for 0x3f 2022-02-12 23:38:20 -08:00
Pokechu22 68cdceb4be CommandProcessor: Log PC and LR on unknown opcodes 2022-02-12 23:38:20 -08:00
Pokechu22 095803d1e9 CommandProcessor: Move contents of second unknown opcode panic alert to the log
This way, the information is always available, and users don't have to deal with a wall of meaningless information.
2022-02-12 23:38:19 -08:00
Pokechu22 1c74867c71 GPFifo: Make s_gather_pipe size new constant GATHER_PIPE_EXTRA_SIZE 2022-02-12 23:38:19 -08:00
Pokechu22 55f8aa9921 VideoCommon/Fifo: Use GPFifo::GATHER_PIPE_SIZE instead of magic 32 2022-02-12 23:38:19 -08:00
Pokechu22 9ffe9d3dc1 CommandProcessor: Remove redundant GATHER_PIPE_SIZE constant 2022-02-12 16:17:03 -08:00
Pokechu22 ce52ea35ec Jit: Replace magic 32 with GPFifo::GATHER_PIPE_SIZE 2022-02-12 16:14:05 -08:00
Pokechu22 f2f9df7541 Remove unused includes of QButtonGroup 2022-02-12 11:40:53 -08:00
Pokechu22 0daee4fe9f CheatSearchFactoryWidget: Set QButtonGroup's parent 2022-02-12 11:40:53 -08:00
Pokechu22 99b3ac21e4 NewBreakpointDialog: Fix improperly behaving radio buttons 2022-02-12 11:40:53 -08:00
Pokechu22 a05dd6b7e6 MemoryWidget: Fix improperly behaving radio buttons 2022-02-12 11:40:53 -08:00
JosJuice 989bdb8d6d Common/CodeBlock: Call ResetCodePtr when decreasing region_size
Fixes https://bugs.dolphin-emu.org/issues/12827.

A description of what was going wrong:

JitArm64::Init first calls CodeBlock::AllocCodeSpace, after which
CodeBlock and Arm64Emitter consider us to have 96 MB of code space
available. JitArm64::Init then calls AddChildCodeSpace, which is
supposed to take 64 MiB of that space and give it to m_far_code.
CodeBlock's view of how much space there is gets updated from 96 MiB
to 32 MiB, but due to the missing call, Arm64Emitter keeps thinking
that it has 96 MiB of space available.

The last thing JitArm64::Init does is to call ResetFreeMemoryRanges.
This function asks Arm64Emitter how much code space is available and
stores a range of that size in m_free_ranges_near, meaning that
m_free_ranges_near ends up being backed by both nearcode and farcode!
This is a ticking time bomb; as soon as we grab memory from
m_free_ranges_near which is backed by farcode, we're in trouble.
The crash I ran into in my testing was caused by fastmem code being
allocated in farcode (our backpatch handler only handles accesses made
from nearcode), but you may as well get errors caused by code intended
for nearcode overwriting code intended for farcode or vice versa.

So why did NBA Live 2005 crash when most games had no problems,
and why was the bug bisected to the commit that increased the size
of far code from 16 MiB to 64 MiB? Well, as long as we're only
using the first 32 MiB of the big 96 MiB range, everything works.
What happens with NBA Live 2005 (I have not investigated exactly
through what mechanism this happens) is that at some point the range
in m_free_ranges_near gets split into two ranges, one which is
backed by nearcode and one which is backed by farcode. Dolphin
prefers to select the biggest range available (we don't want to
pick a tiny 1 KiB range that may not be able to fit the whole block
we're about to emit, after all), and after increasing the size of
farcode to 64 MiB, farcode is bigger than nearcode.
2022-02-12 17:51:32 +01:00
JMC47 466bb17e55
Merge pull request #10445 from JosJuice/android-riivolution-path
Android: Fix the logic for getting the Riivolution path
2022-02-11 08:26:13 -05:00
JMC47 9214174bb3
Merge pull request #10435 from AdmiralCurtiss/savestate-crash
Core/State: Add some multithreading protections.
2022-02-11 06:28:46 -05:00
JMC47 9d69ca8850
Merge pull request #10386 from JosJuice/gba-save-dir-cond
Don't create GBA saves dir when building without mGBA
2022-02-11 06:27:43 -05:00
JMC47 30a9777c5a
Merge pull request #10394 from Pokechu22/alpha-1-blend
Revert TEV alpha lerp change and special-case alpha=1 in blending
2022-02-11 06:26:35 -05:00
Admiral H. Curtiss af36b6c055
HotkeyManager: Change defaults for GBA hotkeys so they don't conflict with common keyboard mappings. 2022-02-10 17:30:23 +01:00
JMC47 a6f9dd5a83
Merge pull request #9544 from AdmiralCurtiss/fastmem-placeholder-windows
MemArena: Use memory placeholders for fastmem on Windows to ensure nothing allocates within the fastmem space.
2022-02-09 16:46:15 -05:00
JosJuice 5dd07f73d4 Android: Fix the logic for getting the Riivolution path
There is a Load path setting, so the Load part can't just be hardcoded.
2022-02-09 21:43:52 +01:00
Pokechu22 444f6fd0cb Treat alpha as 0 if alpha is 1 for blending
This removes the white box in fortune street again, without causing Mario Kart Wii to regress.
2022-02-08 15:15:15 -08:00
Pokechu22 0327e6acb4 Use the same logic for lerp bias for color and alpha
It doesn't make sense for alpha to add the bias ONLY when dividing by 2, while color doesn't apply the bias for divide by 2 only; hardware testing indicates that alpha should have the bias.

This fixes the menus in Mario Kart Wii (https://bugs.dolphin-emu.org/issues/11909) but reintroduces the white rectangle in Fortune Street.

This reverts commit 5aaa5141ed (and several other matching changes elsewhere).
2022-02-08 15:15:15 -08:00
OatmealDome a9b5188047 OGLMain: Set default value for bSupportsSettingObjectNames 2022-02-08 14:53:51 -05:00
OatmealDome bdc55f9557 RenderState: Set source and destination alpha factors in logic op workaround 2022-02-07 16:03:22 -05:00
Admiral H. Curtiss 79405de103
MemArena: Use placeholders on Windows. 2022-02-06 18:06:04 +01:00
Admiral H. Curtiss 73311694b0
Core/State: Guard g_save_thread with a mutex. 2022-02-05 21:50:37 +01:00
Admiral H. Curtiss 56ea1c1d74
Core/State: Guard SaveAs() and LoadAs() with a mutex. 2022-02-05 21:50:34 +01:00
Admiral H. Curtiss 09a0ba06c0
Merge pull request #10417 from jordan-woyak/libavformat-59-build-fix
VideoCommon/FrameDump: Build fix for libavformat major version 59 and newer.
2022-02-04 20:42:34 +01:00
Mai M ec20e4aa99
Merge pull request #10433 from Simonx22/android-optimize-imports
Android: Optimize imports
2022-02-04 01:04:44 -05:00
Mai M 40cda23491
Merge pull request #10404 from iwubcode/vulkan_headers_update
Externals / Vulkan: update Vulkan headers to v1.3.204
2022-02-04 01:04:29 -05:00
Simonx22 942da3ce5f Android: Optimize imports 2022-02-03 11:05:36 -05:00
JMC47 5e59561637
Merge pull request #10425 from JosJuice/android-import-path-traversal
Android: Fix path traversal when importing user data
2022-02-01 04:18:33 -05:00
JMC47 44dabc6c2e
Merge pull request #10424 from JosJuice/android-export-empty-folders
Android: Include empty folders when exporting user data
2022-02-01 01:12:17 -05:00
JosJuice 8aef3e4711 Android: Fix path traversal when importing user data 2022-01-31 21:02:26 +01:00
JosJuice e97fd2f19d Android: Include empty folders when exporting user data
I think users will have a hard time figuring out where to place
texture packs and Riivolution mods and so on without this.
2022-01-31 20:55:06 +01:00
JMC47 4d1e6ff76a
Merge pull request #10422 from OatmealDome/opengl-shader-crash
VideoConfig: Add flag for whether the system supports setting object names
2022-01-31 01:25:46 -05:00
OatmealDome 8be3572c83 D3D12: Assume support for setting object names 2022-01-31 01:17:40 -05:00
OatmealDome 73d957f65c D3DMain: Assume support for setting object names 2022-01-31 01:17:40 -05:00
OatmealDome 4c7fe45475 VKShader: Only set shader name if supported 2022-01-31 01:17:40 -05:00
OatmealDome 28f3cb3d97 VKTexture: Only set texture name if supported 2022-01-31 01:17:40 -05:00
OatmealDome a8ce71fcd4 VulkanContext: Set bSupportsSettingObjectNames based on extension initialization result 2022-01-31 01:17:40 -05:00
OatmealDome 801897467c VulkanEntryPoints: Make vkSetDebugUtilsObjectNameEXT an instance function 2022-01-31 01:17:40 -05:00
OatmealDome a720083a7e Revert "Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it"
This reverts commit 2ab66390f8.
2022-01-31 01:17:40 -05:00
OatmealDome b36c866398 OGLTexture: Only set texture name if supported 2022-01-31 01:17:40 -05:00
OatmealDome ea1ac73c38 OGLShader: Only set shader name if supported 2022-01-31 01:17:40 -05:00
OatmealDome 390cc13834 OGLRender: Set object name support on GL >4.3 and GL ES 3.2 2022-01-31 01:17:40 -05:00
OatmealDome 947b562e06 VideoConfig: Add flag for whether the system supports setting object names 2022-01-31 01:17:37 -05:00
JMC47 8e21495c59
Merge pull request #10419 from OatmealDome/mac-updater-rename
UpdaterCommon: Copy content file to a temporary file before renaming on macOS
2022-01-30 19:45:58 -05:00
JMC47 da05173f71
Merge pull request #10416 from JosJuice/android-import-export
Android: Add import/export options for user data
2022-01-30 17:41:13 -05:00
JosJuice bf5cd90088 Android: Add import/export options for user data
Apparently there are phones where accessing Dolphin's app-specific
directory isn't just annoyingly hard but actually impossible.
To give users of those phones at least some kind of way to manage
their data (even if it's a lot less convenient than if we were
allowed to let the user open the app-specific directory in a
file manager), I'm adding a way to export the directory to a
zip file and then import it back.
2022-01-30 22:47:55 +01:00
OatmealDome 90665fbabe UpdaterCommon: Copy content file to a temporary file before renaming on macOS 2022-01-30 15:40:28 -05:00
Tilka 5d6a60b47c
Merge pull request #10391 from JosJuice/android-license-comment
Android: Add some missing license comments
2022-01-30 20:40:06 +00:00
Jordan Woyak a9a163657c VideoCommon/FrameDump: Build fix for libavformat major version 59 and newer. av_guess_format now returns a pointer to const. 2022-01-30 13:16:51 -06:00
Léo Lam b32af33f24
Merge pull request #10409 from JosJuice/android-no-cplusplus-checks
Android: Get rid of __cplusplus macro checks
2022-01-30 18:55:36 +01:00
Admiral H. Curtiss ff071f8b75
Core/BaseConfigLoader: Disallow loading the MAIN_MEMORY_CARD_SIZE from the global config INI. 2022-01-29 22:32:19 +01:00
Admiral H. Curtiss 63df67b7c8
Merge pull request #10395 from AdmiralCurtiss/memcard-size-setting
Port memory card size override setting to new config system.
2022-01-29 22:32:00 +01:00
Pokechu22 4aeef95746 Fix copy filter clamping when EFB VRAM copies are disabled 2022-01-29 12:23:32 -08:00
JosJuice b8a6fcb1a7 Android: Get rid of __cplusplus macro checks
These files cannot compile correctly as C, so there's no reason to have
ifdefs for C compatibility.

We switched to not checking the __cplusplus macro in our JNI code some
time ago, but it seems like I forgot to remove it from these two files.
2022-01-29 18:38:55 +01:00
JosJuice e101c5aaf3 Android: Fix incorrect include of PostProcessing.h 2022-01-29 18:30:11 +01:00
JosJuice 7f32057e91 Android: Call OnConfigChanged when resetting a setting
Otherwise the value of the setting won't be updated properly.
2022-01-29 15:49:03 +01:00
JosJuice c5c011dd12 Android: Fix swapped texture dumping description strings 2022-01-29 14:36:28 +01:00
JosJuice af5678ea75
Merge pull request #10403 from AdmiralCurtiss/iofile-seek
Minor IOFile cleanup.
2022-01-29 11:59:58 +01:00
JosJuice 07f2587e63 Android: Get rid of the boot timeout
We don't have a timeout like this on other platforms, and it doesn't
accomplish anything useful as far as I can tell. If you trigger it,
all that happens is that you don't get a working game and also can't
press Exit Emulation without Dolphin hanging (stuck in Core::Shutdown).
2022-01-29 11:15:04 +01:00
JosJuice fbe7cf675c
Merge pull request #10402 from Simonx22/android-design-fixing
Android: Fix in-game menu font spacing and checkbox margin
2022-01-29 09:56:28 +01:00
iwubcode 8e3dbe9671 Externals / Vulkan: update Vulkan headers to v1.3.204. Fix default present mode in Vulkan swap chain 2022-01-29 00:47:51 -06:00
Admiral H. Curtiss a336c4386c
IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
Admiral H. Curtiss 36cfcb530f
IOFile: Make origin parameter to Seek() an enum class. 2022-01-29 06:49:21 +01:00
Simonx22 5a4d838e7b Android: Fix in-game menu font spacing and checkbox margin 2022-01-28 16:29:42 -05:00
JMC47 c2d8191fbb
Merge pull request #10401 from JosJuice/adreno-primitive-restart
DriverDetails: Disable primitive restart on Adreno
2022-01-28 15:12:43 -05:00
JosJuice 4f292f5ade DriverDetails: Disable primitive restart on Adreno
Turning off primitive restart increases performance a lot on
Adreno for some reason. We're talking numbers like 50%-100% faster
in situations which are bottlenecked by rendering.
2022-01-28 20:25:18 +01:00
JMC47 f0136e0eb6
Merge pull request #10396 from Pokechu22/efb-copy-clamp
Fix copy filter clamping (again)
2022-01-27 20:12:34 -05:00
JosJuice 80771ec89e
Merge pull request #10399 from Pokechu22/ubershader-fog-typo
UberShaderPixel: Fix typo in fog calculation
2022-01-27 22:59:49 +01:00
JMC47 c2bf3a4313
Merge pull request #10393 from JosJuice/android-texcache-names
Android: Make texture cache accuracy level names match DolphinQt
2022-01-27 14:42:45 -05:00
JosJuice 90f7565fcc
Merge pull request #10385 from shuffle2/arm-buildfix
msvc/arm64: fix shadowed variable warning
2022-01-27 18:00:33 +01:00
Pokechu22 cc9ed4815d UberShaderPixel: Fix typo in fog calculation 2022-01-26 20:23:35 -08:00
JosJuice a8c5c9dffc
Merge pull request #10361 from Simonx22/migrate-to-material-components
Android: improve app design
2022-01-26 22:39:09 +01:00
Pokechu22 ab5e71abf3
Merge pull request #10387 from Pokechu22/geometry-shader-always-write-layer
GeometryShaderGen: Write the layer for every vertex
2022-01-26 13:37:40 -08:00
Pokechu22 25c547e9e5 Fix incorrect copy filter clamping
We need to clamp to the center of pixels, or else things end up working out incorrectly.  This also fixes an off-by-1 for the bottom line.
2022-01-25 19:53:25 -08:00
Admiral H. Curtiss 407aefb6b9
Netplay: Get memory card size override setting from config system instead of manually parsing INI. 2022-01-26 00:57:44 +01:00
Admiral H. Curtiss b88507a3ed
Core: Port memory card size override setting to new config system. 2022-01-25 23:50:03 +01:00
Dentomologist d3ae1bd415 [Android] Fix unused variable warning
Add [[maybe_unused]] attribute to ConsoleListener's m_use_color
2022-01-25 14:15:18 -08:00
Pokechu22 e741d4783a TextureConverterShaderGen: Add missing newline 2022-01-25 13:22:56 -08:00
JosJuice 9d8c207aaf Android: Make texture cache accuracy level names match DolphinQt 2022-01-24 22:18:57 +01:00
JosJuice b237c7479e
Merge pull request #10371 from lynxnb/android-ir
Android: add two QoL settings to IR pointer
2022-01-24 18:25:13 +01:00
lynxnb b4edd16f24 Android: add an option to recenter IR after every pointer interaction 2022-01-24 12:03:51 +01:00
lynxnb fe9ac4ed1d Android: add IR pointer modes to InputOverlayPointer
* Disabled: disables the overlay pointer
* Follow: default behaviour, IR pointer follows touch position
* Drag: IR pointer moves relative to the initial touch event position
2022-01-24 12:03:51 +01:00
JosJuice ff5b323a56 DiscIO: Delete an unused function declaration 2022-01-23 22:15:56 +01:00
JosJuice fbc71a28c3 Android: Add some missing license comments
I missed this in code review.
2022-01-23 22:14:51 +01:00
Pokechu22 8d7eff2a8a VideoCommon: Move logging/seen check for unknown opcodes into CommandProcessor
That way, they're in the same place the panic alerts are generated.
2022-01-22 22:04:15 -08:00
Pokechu22 79b2185117 OpcodeDecoding: Don't raise panic alerts for unknown opcodes 0x01-0x07
A pop-up is no longer generated for the Wiggler capsule in Mario Party 5 (https://bugs.dolphin-emu.org/issues/8104).
2022-01-22 16:49:19 -08:00
Pokechu22 6420845fcb GeometryShaderGen: Write the layer for every vertex
At least in GLSL, after calling EmitVertex() the value of all 'out' variables (including gl_Layer and ps) becomes undefined.  On OpenGL it seems like they were unchanged, but on Vulkan they became 0, resulting in bad rendering.

Fixes https://bugs.dolphin-emu.org/issues/12001
2022-01-22 12:16:48 -08:00
JMC47 237947e2f1
Merge pull request #10369 from Simonx22/android-online-system-update-2
Android: Add online system update functionality
2022-01-22 14:46:42 -05:00
JosJuice a3f5d09a54 Don't create GBA saves dir when building without mGBA
Currently, disabling mGBA when building gets rid of the ability to
change the GBA saves directory in DolphinQt, but it doesn't actually
get rid of Dolphin loading and storing the setting and creating the
folder. If the setting is set to a path you don't want to use
(perhaps you are trying to turn Dolphin portable), this is annoying.

To avoid accidentally making mistakes like this in the future,
I'm gating the existence of the setting behind an ifdef.
2022-01-22 16:05:21 +01:00
shuffle2 4ce9944cc5
remove redundant Unlock 2022-01-22 05:58:32 -08:00
Shawn Hoffman acf6e24586 msvc/arm64: fix shadowed variable warning 2022-01-22 03:31:50 -08:00
Simonx22 c6a074ca64 Android: improve app design 2022-01-21 19:23:27 -05:00
Simonx22 55378cab39 Android: Add online system update functionality 2022-01-21 17:23:09 -05:00
OatmealDome 8ad1292df7 NativeLibrary: Add function to start system menu 2022-01-21 17:23:05 -05:00
OatmealDome 30d51348f9 WiiUtils: Add function to get current system menu version 2022-01-21 17:19:14 -05:00
OatmealDome 36257f7f42 WiiUtils: Add function to check if system menu is installed 2022-01-21 17:18:38 -05:00
OatmealDome 2fc7671eaf WiiUtils: Add doOnlineUpdate() function 2022-01-21 17:17:42 -05:00
OatmealDome 19e1809cdf WiiUtils: Add function to convert UpdateResult to jint 2022-01-21 17:16:23 -05:00
OatmealDome 7c86baee50 WiiUpdateCallback: Add interface for update callback 2022-01-21 17:14:16 -05:00
JosJuice 7b8e846d0a
Merge pull request #10367 from Pokechu22/fmt-8.1.1
Update to fmt 8.1.1
2022-01-20 21:14:41 +01:00
Pokechu22 75cdcd5ac2 FifoPlayer: Add missing call to LoadSettings()
This resulted in the loop checkbox appearing unchecked, even though loop was enabled.
2022-01-17 11:00:13 -08:00
Shawn Hoffman 3175e38a2e GXPipelineUid: remove explicit shallow copy where it's the default 2022-01-16 22:34:39 -08:00
Pokechu22 43e146a1d5 GameList: Convert file extensions to lowercase
This means that dol/elf files with upercase extensions (e.g. BOOT.DOL) are properly detected.
2022-01-16 17:00:16 -08:00
Pokechu22 6e5f4125e3 Use Common::ToLower and Common::ToUpper 2022-01-16 17:00:12 -08:00
Pokechu22 aaec64501a Create Common::ToLower and Common::ToUpper 2022-01-16 16:56:53 -08:00
Léo Lam e627718560
Merge pull request #10373 from Pokechu22/cmake-tab
CMakeLists: Replace tab characters with spaces
2022-01-17 00:47:29 +01:00
Léo Lam cb19472f54
Merge pull request #10372 from Pokechu22/discio-core-dep
CMakeLists: Change DiscIO dependency from common to core
2022-01-17 00:39:55 +01:00
Pokechu22 ad9e8d97a9 CMakeLists: Replace tab characters with spaces
This commit only touches CMakeLists in Source and the main one; it doesn't touch them in Externals.
2022-01-16 15:20:40 -08:00
Pokechu22 65788290f6 Raise a panic alert if a movie is recorded with memcards but no memcards are inserted 2022-01-16 14:21:33 -08:00
Pokechu22 19ef936e27 Use Slot in GameCubePane 2022-01-16 14:21:33 -08:00
Pokechu22 9109258b85 Use Slot in GCMemcardManager 2022-01-16 14:21:32 -08:00
Pokechu22 777bb4d82c Use Slot in EXI devices 2022-01-16 14:21:28 -08:00
Pokechu22 7935e614d1 CMakeLists: Change DiscIO dependency from common to core
DiscIO depends on some IOS functions and other functions, which are in Core and not Common.  This results in link errors if using DiscIO on its own (which is why DolphinTool had a listed dependency on videocommon; videocommon has a dependency on core so adding that made things build).
2022-01-16 13:29:51 -08:00
Pokechu22 3f0b23ed2b Create Slot enum class for EXI slots 2022-01-14 20:24:53 -08:00
Pokechu22 fefde0481d Use EnumFormatter to generate names for EXI devices
This simplifies the code in GameCubePane, and allows us to use the EXIDeviceType enum in error messages.
2022-01-14 20:24:53 -08:00
Pokechu22 d354163fbe Replace TEXIDevices with an enum class 2022-01-14 20:24:53 -08:00
Léo Lam 83c5446d85
Fix static initialisation order fiasco issue for Version variables
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)

By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
2022-01-14 00:04:22 +01:00
JosJuice d445d2ad36 DolphinQt: Improve the earlier panic alert deadlock fix
If the purpose of calling SetFullscreen using RunAsCPUThread is
to make sure that the GPU thread is paused, the fix in ef77872
is faulty when dual core is used and a panic alert comes from
the CPU thread. This change re-adds synchronization for that case.
2022-01-13 22:19:54 +01:00
JosJuice 3367e5e026 DolphinQt: Fix the panic alert deadlock, GPU thread edition
The fix in ef77872 worked for panic alerts from
the CPU thread, but there were still problems with
panic alerts from the GPU thread in dual core mode.
This change attempts to fix those.
2022-01-13 22:19:54 +01:00
Pokechu22 fd04f4f32d Replace use of of unsigned char* with fmt
Using unsigned char* or signed char* results in a deprecation warning, which is treated as an error.  It needs to be casted to regular char* for it to work.
2022-01-13 11:11:08 -08:00
Pokechu22 29d6dd609c Fix non-constexpr format strings 2022-01-13 11:11:08 -08:00
Pokechu22 18cf8ac767 Create EnumFormatter for WD Command enums 2022-01-13 11:11:08 -08:00
Pokechu22 1a92699455 Cast to int for enums that are not formattable 2022-01-13 11:11:08 -08:00
Pokechu22 5465775d11 Fix ambiguous uses of format_to
At least in MSVC (which is not restricted from targetting C++20), these can be resolved to either std::format_to or fmt::format_to (though I'm not sure why the std one is available).  We want the latter.
2022-01-13 11:11:08 -08:00
Pokechu22 ac46b91673 Make all fmt::formatter constructors constexpr 2022-01-13 11:11:08 -08:00
Pokechu22 78e43a4404 Make all custom fmt::formatter's format functions const
fmt 8.0.0 requires this.
2022-01-13 11:11:08 -08:00
Pokechu22 cc592ab814 Use fmt::runtime in FmtFormatT
This format string is by definition dynamic and can't be checked at compile time.  There are other similar strings in the log handler and in asserts, but they use vformat and thus don't need fmt::runtime.  We might be able to do a similar thing where the untranslated string is compile-time checked, but FmtFormatT is used in so few places that I don't want to handle that in this PR.
2022-01-13 11:11:08 -08:00
Pokechu22 0cc211d1ef Use fmt::format_string 2022-01-13 11:11:08 -08:00
Pokechu22 ff8965c40b Replace uses of undocumented/deprecated fmt::format_to overload
This was deprecated in fmt 8.0.0.
2022-01-13 11:11:08 -08:00
Pokechu22 54cf8d030c Add fmt/xchar includes where wstring is used 2022-01-13 11:11:08 -08:00
Léo Lam 07fd17445c
Merge pull request #10366 from Pokechu22/bad-int3-constructor
PixelShaderGen: Fix invalid use of int3(0)
2022-01-13 14:37:36 +01:00
Léo Lam 21b9e6a34f
Merge pull request #10355 from Pokechu22/fifo-player-config
FifoPlayer: Store early memory updates option in the config and allow changing loop option at runtime
2022-01-13 14:36:48 +01:00
Mai M 1cea399e9c
Merge pull request #10345 from jordan-woyak/modifier-range
InputCommon: Re-enable "Modifier" "Range" settings.
2022-01-13 08:32:15 -05:00
Mai M cfb8b9bcf4
Merge pull request #10357 from JosJuice/android-main-debug
Android: Make Main.Debug setting declarations match C++
2022-01-13 07:41:35 -05:00
Mai M 7ebc689b57
Merge pull request #10360 from JosJuice/android-div-6
Android: Don't divide SI device by 6
2022-01-13 07:41:08 -05:00
Pokechu22 fc0d958e26 PixelShaderGen: Fix invalid use of int3(0)
This syntax is allowed by GLSL, but HLSL doesn't allow it.  This meant that games using R8 comparisons in equal mode would produce shaders that failed to compile.  Super Mario Galaxy's water levels were affected by this.
2022-01-12 21:50:34 -08:00
JMC47 ca96421f42
Merge pull request #10365 from JosJuice/missing-ini-section
Config: Add missing legacy game INI mappings
2022-01-11 19:12:58 -05:00
JosJuice 2ca37922dc Config: Use "Controls" section for PadType in game INIs
This matches BootManager.cpp's old behavior.

Note: The other settings of the "Controls" section (WiimoteSource
and WiimoteSourceBB) are still handled in BootManager.cpp.
2022-01-11 22:38:37 +01:00
JosJuice 5283a1dcc6 Config: Add "DSP" to GetINIToSectionMap
The "DSP" game INI section name was supported by BootManager.cpp
before the section was ported to the new config system.
For backwards compatibility, we should keep supporting it.

Should fix https://bugs.dolphin-emu.org/issues/12792
2022-01-11 22:37:02 +01:00
JMC47 c18abfaecc
Merge pull request #10356 from AdmiralCurtiss/config-port-core-4
Config: Port remaining Core settings to new config system (the rest).
2022-01-11 16:08:19 -05:00
JMC47 d32b13fb36
Merge pull request #10363 from JosJuice/systemtimers-dma-period
SystemTimers: Refactor, get rid of s_audio_dma_period
2022-01-11 09:30:41 -05:00
Pokechu22 ca9bf3174f Use HRWrap in remaining locations
Note that D3DCommon can't use DX11HRWrap or DX12HRWrap since it's shared between them.
2022-01-09 12:44:55 -08:00
Pokechu22 1b32e6dae2 VideoBackends/D3D12: Include HRESULT in error messages 2022-01-09 12:44:53 -08:00
Pokechu22 23cdb5c576 VideoBackends/D3D11: Include HRESULT in error messages 2022-01-09 12:44:15 -08:00
Pokechu22 140c8217f6 Common: Create HRWrap
HRWrap now allows HRESULT to be formatted, giving useful information beyond "it failed" or a hex code that isn't obvious to most users.  This commit does not add any uses of it, though.
2022-01-09 12:44:15 -08:00
Pokechu22 c296c34e00 Common/MsgHandler: Use caller's file and line number in log messages
This will assist with finding the source of a panic alert based on logs; before, Common\MsgHandler.cpp:113 (or similar) was always used.
2022-01-09 12:44:14 -08:00
Pokechu22 f55571ee5d Common/MsgHandler: Fix PanicAlertFmtT not actually being translated 2022-01-09 12:44:14 -08:00
Pokechu22 2a5016c2f8 Common/MsgHandler: Remove use of lambda, as it breaks __func__
Specifically, this meant that __func__ in macros (namely ASSERT) would always be evaluate to "operator ()".
2022-01-09 12:44:14 -08:00
Pokechu22 558de04cfc Common/Assert: Actually use the ASSERT_MSG's log type parameter
Since it was unused, nonexistent values were used in a few places.  I've replaced them.
2022-01-09 12:44:14 -08:00
Pokechu22 bab3ff0157 Common/MsgHandler: Remove non-format variants of PanicAlert
They're no longer used.
2022-01-09 12:44:14 -08:00
Pokechu22 82acfa6a46 VideoBackends/D3D: Eliminate CHECK in favor of ASSERT_MSG 2022-01-09 12:44:13 -08:00
Pokechu22 161c627466 Treewide: Remove unused inclusions of <cinttypes>
Most of these became unneeded when fmt was introduced.
2022-01-09 12:43:11 -08:00
Pokechu22 44e93e91d7 Common/Assert: Switch to fmt 2022-01-09 12:43:11 -08:00
Pokechu22 1c0ca09e6f Common/Assert: Include the condition and function in the message 2022-01-09 12:43:11 -08:00
Admiral H. Curtiss c82b2dccb5
Config: Port SyncGPU settings to new config system. 2022-01-09 21:29:12 +01:00
Admiral H. Curtiss d8b67bc15f
Config: Port BBDumpPort setting to new config system. 2022-01-09 21:29:12 +01:00
Admiral H. Curtiss 92d2fd9d5f
Config: Port MMU setting to new config system. 2022-01-09 21:29:12 +01:00
Admiral H. Curtiss d8825f5635
Config: Port dual core setting to new config system. 2022-01-09 21:29:11 +01:00
JosJuice e5ef597642
Merge pull request #10172 from JosJuice/reorder-exception
PPCAnalyst: Less strict interrupt checks in CanSwapAdjacentOps
2022-01-09 19:41:16 +01:00
JosJuice bcd1831339
Merge pull request #9815 from JosJuice/jitarm64-fmaless
JitArm64: Implement FMA-less path for FMA instructions
2022-01-09 19:40:54 +01:00
JosJuice 1d9d9d6a6e
Merge pull request #10354 from AdmiralCurtiss/config-port-core-3
Config: Port EXI device and SI device settings to new config system.
2022-01-09 19:40:23 +01:00
JosJuice aa57eb57b1 SystemTimers: Refactor, get rid of s_audio_dma_period
This static variable was only used within one function,
so we can get rid of it.
2022-01-09 12:02:22 +01:00
Admiral H. Curtiss 5c325eef38
Config: Port SI device settings to new config system. 2022-01-08 20:08:21 +01:00
Admiral H. Curtiss a0a0bfc5ca
Config: Port EXI device settings to new config system. 2022-01-08 19:57:58 +01:00
JosJuice 9f3ed1f9f3 Android: Don't divide SI device by 6
It's a complete coincidence that both SIDEVICE_GC_CONTROLLER (6)
and SIDEVICE_WIIU_ADAPTER (12) are divisible by 6. Dividing
by 6 because of that doesn't make sense, especially not if we
want to add support for more kinds of SI devices on Android later.
2022-01-08 16:06:49 +01:00
Simonx22 0a82bb51bd Android: remove save icon and add up button 2022-01-07 16:23:06 -05:00
JosJuice 13e246a843 Android: Make Main.Debug setting declarations match C++
No functional difference. Just making sure that the settings
have the same name in Java as in C++ so that they're easy to
cross-reference.
2022-01-07 11:25:20 +01:00
Pokechu22 29df17d422 FifoPlayer: Allow changing loop option at runtime
This option has always existed since it's used by FifoCI, but now it can be changed at runtime.  Looping is something that should almost always be on, but it can be useful to turn it off when frame-dumping is enabled so that hundreds of copies of the same frame aren't created.  Before, turning it off required restarting Dolphin.
2022-01-06 19:08:16 -08:00
Pokechu22 575062a612 FifoPlayer: Store early memory updates option in the config
Now, early memory updates is persisted across runs, and can be toggled before starting a fifolog.
2022-01-06 19:02:13 -08:00
JMC47 4c0dcf42b8
Merge pull request #10346 from iwubcode/fixed_shader_precompile_parallelization
VideoCommon: Fix shader precompilization detection
2022-01-06 16:28:15 -05:00
Admiral H. Curtiss eb5bb2993e
Core/AudioCommon: Add config caching to Mixer. 2022-01-06 16:43:43 +01:00
Admiral H. Curtiss ed1a1c1fae
Config: Port WiimoteControllerInterface setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss 2354fb4466
Config: Port WiimoteEnableSpeaker setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss 8c554d2e64
Config: Port WiimoteContinuousScanning setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss b2da738c81
Config: Port WiiKeyboard setting to new config system. 2022-01-06 16:13:57 +01:00
Admiral H. Curtiss f19cf1753b
Config: Port WiiSDCard setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss 2aa44b10ba
Config: Port TimingVariance setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss dc7e7d08ad
Config: Port Fastmem setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss 88d725c918
Config: Port SyncOnSkipIdle setting to new config system. 2022-01-06 16:13:56 +01:00
Admiral H. Curtiss e613cbf395
Config: Port FastDiscSpeed setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss 7184983ee8
Config: Port DisableICache setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss d98c6b0b1d
Config: Port GPUDeterminismMode setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss 68688e7903
Config: Port PerfMapDir setting to new config system. 2022-01-06 16:13:55 +01:00
Admiral H. Curtiss fb47035f97
Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
Mai M 5d11dc1926
Merge pull request #10352 from JosJuice/android-analytics-static
Android: Mark s_android_send_report as static
2022-01-06 07:41:03 -05:00
JosJuice 804f78e0e4 Android: Mark s_android_send_report as static
Fixes a compiler warning.
2022-01-06 12:20:09 +01:00
Simonx22 ba5c38e3ad Android: update dependencies 2022-01-06 05:55:52 -05:00
Mai M 7bd14c5d9f
Merge pull request #10338 from Pokechu22/natvis-improvements
Natvis improvements
2022-01-06 04:01:25 -05:00
Mai M c16b8f4200
Merge pull request #10212 from JosJuice/android-12
Android: Increase targetSdkVersion to 31 (Android 12)
2022-01-06 04:01:00 -05:00
Mai M 6939fd9f18
Merge pull request #10348 from AdmiralCurtiss/config-remove-compare-server-client
Config: Remove CompareServer and CompareClient settings.
2022-01-06 03:59:48 -05:00
Mai M c0fada6fec
Merge pull request #10350 from Techjar/netplay-longer-timeout
Core/NetPlay: Extend enet peer timeout
2022-01-06 03:58:58 -05:00
Mai M c52485071b
Merge pull request #10351 from JosJuice/rb3-more-devices
USBUtils: Add/fix some Rock Band devices
2022-01-06 03:58:00 -05:00
JosJuice 589c267355 USBUtils: Fix 1bad:3110/1bad:3430 mixup
The wiki and the source code had these mismatched, and a user reported
that 1bad:3430 is the Mustang guitar, so the wiki must be right.
2022-01-06 09:46:05 +01:00
JosJuice 0de8ccc25f USBUtils: Add "Harmonix RB3 Keyboard for Nintendo Wii" 2022-01-06 09:42:19 +01:00
Techjar 600c8169d5 Core/NetPlay: Extend enet peer timeout
This extends the timeout to 30 seconds, so users who have brief
connection issues won't be so swiftly disconnected, allowing the
NetPlay session to continue.
2022-01-06 02:13:19 -05:00
Admiral H. Curtiss 032f0da35e
Config: Remove CompareServer and CompareClient settings. 2022-01-05 21:26:17 +01:00
JMC47 bc14485489
Merge pull request #10340 from AdmiralCurtiss/config-port-core-1
Config: Port remaining Core settings to new config system (partial).
2022-01-05 04:53:04 -05:00
iwubcode 9b4e5b00ee VideoCommon: assume the majority of os/drivers support parallel compiling of shaders, we can create bugs if there are issues. Android is assumed buggy 2022-01-04 20:40:07 -06:00
Admiral H. Curtiss 0bfffe4095
Config: Port GC Adapter settings to new config system. 2022-01-05 03:25:19 +01:00
Admiral H. Curtiss e08171fa24
Config: Port remaining Core settings to new config system (partial). 2022-01-05 00:54:15 +01:00
Jordan Woyak 78a9bdf04a InputCommon: Use value of "Modifier" button "Range" setting rather than always applying 50%.
Make "Clear" button reset "Modifier" "Range" settings to 50%.
2022-01-04 14:09:50 -06:00
JMC47 3feea704e0
Merge pull request #10342 from JosJuice/vulkan-shader-crash
Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it
2022-01-04 10:47:55 -05:00
JMC47 500e02dcfb
Merge pull request #10344 from JosJuice/android-no-retain-instance
Android: Remove all setRetainInstance calls
2022-01-04 10:39:22 -05:00
JMC47 9a914d33d5
Merge pull request #9414 from DevJPM/master
Fix CPU Core Count detection and Enable Parallel Shader Compilation
2022-01-04 10:15:12 -05:00
JosJuice 2ab66390f8 Vulkan: Check for vkSetDebugUtilsObjectNameEXT before using it
Fixes a crash that has been present on Android (and probably also
macOS) since f6883a0.
2022-01-03 20:17:57 +01:00
Admiral H. Curtiss 8af737d3bd
D3D12: Fix nullptr dereference when creating a shader with a name. 2022-01-03 17:14:09 +01:00
Léo Lam 04a25818b2
Merge pull request #10330 from aldelaro5/gdb-stub-add-hostinfo
GDB Stub: add support for lldb's qHostInfo
2022-01-03 12:43:57 +01:00
aldelaro5 d705a5fe9b GDB Stub: add support for lldb's qHostInfo 2022-01-02 19:58:31 -05:00
Léo Lam 953eb49cd8
Merge pull request #10335 from ssdsnake/dolphintool_fix_20220102
DolphinTool: initialize user directories before verify/convert operations
2022-01-03 01:46:22 +01:00
Léo Lam 7abb501e0a
Merge pull request #10334 from AdmiralCurtiss/json-maker
Core: Add a Maker field for GameModDescriptors.
2022-01-03 01:43:02 +01:00
Léo Lam 0de008da11
Merge pull request #10332 from AdmiralCurtiss/config-port-general
Config: Port remaining General settings to new config system.
2022-01-03 01:40:37 +01:00
Léo Lam 4ee20368f8
Merge pull request #10336 from aldelaro5/gdb-stub-fix-first-packet
GDB Stub: do not send a packet when we just connected
2022-01-03 01:40:16 +01:00