Commit graph

42951 commits

Author SHA1 Message Date
JosJuice
2b17e89336 Config: Don't clear callbacks on shutdown
This fixes a problem that started happening in CoreTimingTest after the
previous commit. CPUThreadConfigCallback registers a Config callback
only once per run of the process, but CoreTimingTest calls
Config::Shutdown after each test, and Config::Shutdown was clearing all
callbacks, preventing the callback from running after that.
2023-08-17 19:19:25 +02:00
JosJuice
71ce8bb6f0 Don't call RunAsCPUThread in config callbacks
In theory, our config system supports calling Set from any thread. But
because we have config callbacks that call RunAsCPUThread, it's a lot
more restricted in practice. Calling Set from any thread other than the
host thread or the CPU thread is formally thread unsafe, and calling Set
on the host thread while the CPU thread is showing a panic alert causes
a deadlock. This is especially a problem because 04072f0 made the
"Ignore for this session" button in panic alerts call Set.

Because so many of our config callbacks want their code to run on the
CPU thread, I thought it would make sense to have a centralized way to
move execution to the CPU thread for config callbacks. To solve the
deadlock problem, this new way is non-blocking. This means that threads
other than the CPU thread might continue executing before the CPU thread
is informed of the new config, but I don't think there's any problem
with that.

Intends to fix https://bugs.dolphin-emu.org/issues/13108.
2023-08-17 19:19:25 +02:00
Robert Peralta
19e14a5608
Fix macOS compilation errors (#81)
* Move #endif to proper location on UICommon.cpp preventing compilation because of syntax error

* Add missing include for unordered map and missing CodeTo implementation from Ishiiruka
+ Adjust code to use string_view

* Trick compiler to think var is being used on Semver200_parser.cpp to prevent compilation errors on macos
2023-08-16 22:01:01 -07:00
Admiral H. Curtiss
a9cba9be36
DolphinQt/LogWidget: Restore log window colors. 2023-08-16 19:55:18 +02:00
Admiral H. Curtiss
a34f221782
Core/PowerPC: Return AvailableCPUCores() as a std::span. 2023-08-16 19:25:03 +02:00
Admiral H. Curtiss
51f807b63a
DolphinQt/AdvancedPane: Update all GUI elements from config in Update(). 2023-08-16 19:25:03 +02:00
Admiral H. Curtiss
ccee66dc80
DolphinQt/AdvancedPane: Use ConfigBool for MMU, Pause on Panic, and Write-Back Cache. 2023-08-16 19:25:03 +02:00
Admiral H. Curtiss
23ae8c439c
Merge pull request #12112 from JosJuice/hires-texture-encoding
VideoCommon: Fix std::filesystem::path encoding conversion
2023-08-16 18:39:18 +02:00
JosJuice
86910f406e VideoCommon: Fix std::filesystem::path encoding conversion
In std::string, you can store strings using any encoding, but in Dolphin
we have decided to use UTF-8. The problem is that if you convert between
std::string and std::filesystem::path using the built-in methods, the
standard library will make up its own assumption of what encoding you're
using in the std::string. On most OSes this is UTF-8, but on Windows
it's whatever the user's code page is.

What I believe is the C++ standard authors' intended solution to this is
to use std::u8string instead of std::string, but that's a big hassle to
move over to, because there's no convenient way to convert between
std::string and std::u8string. Instead, in Dolphin, we have added helper
functions that convert between std::string and std::filesystem::path in
the manner we want. You *always* have to use these when converting
between std::string and std::filesystem::path, otherwise we get these
kinds of encoding problems that we've been having with custom textures.

Fixes https://bugs.dolphin-emu.org/issues/13328.
2023-08-16 09:56:56 +02:00
JosJuice
177ac0cd44
Merge pull request #12111 from OatmealDome/old-amd-bug
Remove `BUG_BROKEN_FRAGMENT_SHADER_INDEX_DECORATION`
2023-08-16 09:20:49 +02:00
Pokechu22
10c5da6f62
Merge pull request #12107 from MikeIsAStar/retrieve-page-table-information-from-data-cache
Retrieve page table information from the data cache
2023-08-15 22:01:01 -07:00
takayhan-AMD
b969282b72 Remove out-dated hack of AMD driver issue WRT dual-source blending output index. 2023-08-15 23:58:29 -04:00
iwubcode
eeb73460ab VideoCommon: asset load time is now stored as a chrono system_clock time, so that times can be fabricated in a future feature (without creating a file to do so) 2023-08-15 22:02:28 -05:00
Nikhil Narayana
59f2f6909d
redo music volume control and refactor some stuff 2023-08-15 17:50:32 -07:00
Nikhil Narayana
f90d25f92a
clang-format 2023-08-15 14:24:25 -07:00
Admiral H. Curtiss
a10d768c63
Merge pull request #12104 from iwubcode/descriptor_sample_size_constant_dx12
VideoBackends: update SRVDescriptorTable size in DX12 to use pixel sampler constant
2023-08-15 23:15:19 +02:00
Admiral H. Curtiss
a44606692a
Merge pull request #12096 from Dentomologist/nandpaths_resolve_android_warning
NandPaths: Resolve Android tautological comparison warning
2023-08-15 22:23:57 +02:00
Admiral H. Curtiss
2cbc1e6f3e
Merge pull request #12109 from JosJuice/android-adddevice-null
ControllerInterface/Android: Add null check to AddDevice
2023-08-15 22:22:45 +02:00
Admiral H. Curtiss
98592b460e
Merge pull request #12106 from SuperSamus/cmake-pass-version
CMake: use version flags if Git isn't found
2023-08-15 22:21:25 +02:00
Nikhil Narayana
fb0a4da6d0
fix enabling rust logs on boot 2023-08-15 12:25:15 -07:00
MikeIsAStar
0bb5c88a22 Retrieve page table information from the data cache
Thanks to @mkwcat for identifying the problematic code.
2023-08-15 12:44:55 -04:00
JosJuice
4b1b5881b0 Android: Move DirectoryInitialization toast to UI thread
You're not allowed to just show toasts on any thread you want.
2023-08-15 14:03:08 +02:00
JosJuice
1d77bddc3b ControllerInterface/Android: Add null check to AddDevice
The Google Play Console is showing some users getting a crash here,
and indeed, InputDevice.getDevice can return null.
2023-08-15 13:31:18 +02:00
Nikhil Narayana
ac40cd1aa2
hook up most slippi pane settings 2023-08-15 00:52:47 -07:00
Nikhil Narayana
106327827a
MONTH_FOLDERS -> MONTHLY_FOLDERS 2023-08-14 21:44:17 -07:00
Nikhil Narayana
639fd6298e
bump version 2023-08-14 12:03:56 -07:00
Nikhil Narayana
b0ef93b89b
use SlippiRustExtensions submodule 2023-08-14 11:56:07 -07:00
Nikhil Narayana
4682cfcbe2
delete SlippiRustExtensions locally 2023-08-14 11:55:45 -07:00
Nikhil Narayana
237b802930
clang-format 2023-08-14 09:21:46 -07:00
Nikhil Narayana
133520b2ac
fix usage of WriteStringToFile
file name comes first now
2023-08-14 09:14:57 -07:00
Nikhil Narayana
864a6d0297
fix direct codes 2023-08-14 08:53:31 -07:00
Nikhil Narayana
8b914e3f24
rename exe to Slippi_Dolphin 2023-08-14 08:22:50 -07:00
Martino Fontana
c43c9101c0 CMake: use version flags if Git isn't found 2023-08-14 11:27:39 +02:00
Nikhil Narayana
fdd5476b54
add note about rust in README 2023-08-13 23:12:57 -07:00
Nikhil Narayana
4766322a4c
copy rust dlls to binary folder on windows 2023-08-13 23:01:27 -07:00
Nikhil Narayana
e38df17446
fix linking in linux 2023-08-13 22:10:12 -07:00
Nikhil Narayana
d8f8e38f41
don't strip libs in appimage 2023-08-13 21:51:32 -07:00
Nikhil Narayana
64eb295450
actually commit corrosion? 2023-08-13 21:28:59 -07:00
Nikhil Narayana
85f5914c5b
Rust Game Reporter (deaddda) 2023-08-13 18:02:59 -07:00
Nikhil Narayana
065823f71e
pull in rust updates 2023-08-13 16:52:07 -07:00
Nikhil Narayana
0c98be8eff
Determine the actual used local address with ENET socket (e39fe60) 2023-08-13 16:50:33 -07:00
Nikhil Narayana
77b0b1c91e
bring in rust stuff, music works. need to test osd and loggers a bit more
the rust stuff will get submoduled at some point
2023-08-13 16:31:50 -07:00
iwubcode
89e2fc1dd3 VideoBackends: update SRVDescriptorTable size in DX12 to use pixel sampler constant 2023-08-13 17:23:26 -05:00
Admiral H. Curtiss
5635a0bdef
DolphinQt/EnhancementsWidget: Use custom tooltip for Color Correction button. 2023-08-13 22:46:46 +02:00
Admiral H. Curtiss
2537f4db91
Merge pull request #12100 from AdmiralCurtiss/tooltip-pushbutton
DolphinQt: Add ToolTipPushButton.
2023-08-13 21:44:24 +02:00
JMC47
4549091f56
Merge pull request #12090 from mandar1jn/figures-split
Skylanders: expand and improve character list
2023-08-13 14:29:46 -04:00
Mandar1jn
31d6aa5117 Skylanders: expand and improve character list
The previous list had some issues. A lot of variant id's were set to 0x0000. Althought this works for some figures, on a technicallity implemented into the games, they are technically wrong and don't result in exactly the same experience as the real figures. For example, the previous small fry got a "series 1" text in the summon screen. The real small fry does not have this. I also added figure types so I can add seperate generation logic later.
The Kaos element only applies to 3 items. So, I decided to throw it under others since it's not listed as an element in the manual and you can easily search for Kaos
2023-08-13 19:55:10 +02:00
Admiral H. Curtiss
1c1d2b0873
Merge pull request #12098 from Dentomologist/gcadapter_fix_android_unused_constant_warning
Gcadapter: fix Android unused constant warning
2023-08-13 18:58:39 +02:00
Admiral H. Curtiss
5bf760fa0b
Merge pull request #12069 from riidefi/silent-sd-failure
Prevent SD data loss from silent resync failure
2023-08-13 18:57:11 +02:00
JosJuice
d50494b88d
Merge pull request #12060 from Sintendo/arm64-bool-logimm
JitArm64: Use LogicalImm in boolX
2023-08-13 18:51:05 +02:00