Robin Kertels
9186050daa
VideoBackends:Vulkan: Clean up submission thread BlockingLoop usage
2023-03-20 16:23:35 +01:00
Robin Kertels
7703fef3a4
VideoCommon:VertexLoaderManager: Only update vertex format in shader manager if necessary.
2023-03-20 00:41:16 +01:00
JosJuice
002a96adb0
Merge pull request #11662 from t895/kotlin-settings
...
Android: Convert Settings to Kotlin
2023-03-19 17:15:22 +01:00
Admiral H. Curtiss
454d2fd9ab
Interpreter: Avoid ppcState global (Interpreter_SystemRegisters.cpp).
2023-03-19 03:11:22 +01:00
Admiral H. Curtiss
c582aad0c7
Interpreter: Avoid ppcState global (Interpreter_Paired.cpp).
2023-03-19 03:11:18 +01:00
Admiral H. Curtiss
514a7af473
Interpreter: Avoid ppcState global (Interpreter_LoadStorePaired.cpp).
2023-03-19 03:11:13 +01:00
Admiral H. Curtiss
9af8410e4c
Interpreter: Avoid ppcState global (Interpreter_LoadStore.cpp).
2023-03-19 03:11:09 +01:00
Admiral H. Curtiss
8b13349886
Interpreter: Avoid ppcState global (Interpreter_Integer.cpp).
2023-03-19 03:11:05 +01:00
Admiral H. Curtiss
2ce86a890a
Interpreter: Avoid ppcState global (Interpreter_FloatingPoint.cpp).
2023-03-19 03:11:01 +01:00
Admiral H. Curtiss
d4ca591e02
Interpreter: Avoid ppcState global (Interpreter_Branch.cpp).
2023-03-19 03:10:56 +01:00
Admiral H. Curtiss
68ab623764
Interpreter: Avoid ppcState global (Interpreter.cpp).
2023-03-19 03:10:42 +01:00
Admiral H. Curtiss
3d67c11b91
Interpreter: Move global state into class, move instance to System.
2023-03-19 03:05:20 +01:00
Admiral H. Curtiss
919182eda2
Interpreter: Pass Interpreter to CPU instruction functions.
2023-03-19 03:05:11 +01:00
Admiral H. Curtiss
a4d3342419
Merge pull request #11665 from JosJuice/fix-movie-wii-save
...
Core: Fix starting movie recording with existing Wii save
2023-03-19 01:46:21 +01:00
Admiral H. Curtiss
fb7a371ac0
Merge pull request #11666 from AdmiralCurtiss/updater-spaces
...
WinUpdater: Quote path for args when relaunching Dolphin.
2023-03-18 18:32:35 +01:00
Pierre Bourdon
04915d6749
Merge pull request #11670 from JosJuice/android-open-mode
...
Android: Translate C++ "w" to ParcelFileDescriptor "wt"
2023-03-18 18:20:17 +01:00
JosJuice
8e363c0995
Android: Translate C++ "w" to ParcelFileDescriptor "wt"
...
Previously we were translating "w" to "w", which unlike in C++ doesn't
truncate. See https://issuetracker.google.com/issues/180526528 , and for
reference, https://en.cppreference.com/w/cpp/io/c/fopen and
https://en.cppreference.com/w/cpp/io/basic_filebuf/open .
This issue was brought to my attention by the recently published issue
CVE-2023-21036 in the screenshot editing tool on Pixel phones. I'm not
aware of any code in Dolphin that actually uses "w" with an existing
file on Android (when we ask the user for a location to save to using
SAF, a new file is always created), but still, best to fix this.
2023-03-18 13:44:01 +01:00
Admiral H. Curtiss
33d0ec97e9
WinUpdater: Quote path for args when relaunching Dolphin.
2023-03-17 12:48:39 +01:00
TellowKrinkle
d037c60caf
CMake: Use proper dependency tracking command for storyboard compiling
2023-03-17 01:28:33 -05:00
TellowKrinkle
66936f2087
CMake: Use generator expressions to get codesigning targets
...
Also works around a bug where CMake's ninja generator doesn't properly handle ||'s on POST_BUILD commands, making the || apply to the whole build like `<link> && custom0 || custom1`
2023-03-17 01:28:16 -05:00
Pokechu22
4dd658f4da
Remove PPCTables::UsesFPU
...
We don't have getters for other flags, so it's not useful to have that.
2023-03-16 18:39:41 -07:00
Pokechu22
164ea57790
Split PPCTables from Interpreter_Tables
...
This also allows use of constexpr in both places. Some additional work was needed in PPCTables due to mutable data associated with each opcode.
2023-03-16 18:36:25 -07:00
Pokechu22
cd627d1232
PPCTables: Fix OPLOG system
...
Since OPLOG is defined in PPCTables.cpp only, it isn't visible elsewhere. This broke in 3ede866c37
.
2023-03-16 18:36:25 -07:00
Pokechu22
34f39ee22e
JitArm64_Tables: Use C++20 features
2023-03-16 18:36:25 -07:00
Pokechu22
ec7432ef36
Jit64_Tables: Use C++20 features
2023-03-16 18:36:25 -07:00
Pokechu22
14a93d24e1
Common: Add constexpr Fill function
2023-03-16 18:36:25 -07:00
JosJuice
d179acef38
Core: Refactor InitializeDeterministicWiiSaves
...
Some simple deduplication.
2023-03-16 22:49:46 +01:00
JosJuice
9e7409e71e
Core: Fix starting movie recording with existing Wii save
...
A change made in 0d095b4
didn't take into account that the movie system
doesn't set sync_titles.
2023-03-16 22:45:40 +01:00
JosJuice
6b545eaada
Merge pull request #11659 from JosJuice/android-after-dirinit-runner-cleanup
...
Android: Clean up AfterDirectoryInitializationRunner
2023-03-16 17:12:58 +01:00
Pierre Bourdon
d623871f3e
Merge pull request #11664 from OatmealDome/macos-updater-test-mode
...
MacUI: Add stub implementation of UI::IsTestMode()
2023-03-16 15:24:49 +01:00
OatmealDome
bbe2bd5fec
MacUI: Add stub implementation of UI::IsTestMode()
2023-03-16 02:44:36 -04:00
Charles Lombardo
a32d66e5ec
Android: Upgrade Kotlin to 1.8.10
2023-03-15 23:58:11 -04:00
Charles Lombardo
f06c0897ab
Android: Update gradle to 8.0
2023-03-15 23:58:11 -04:00
Charles Lombardo
de34c962d7
Android: Upgrade AGP to 7.4.2
2023-03-15 23:58:11 -04:00
Charles Lombardo
7e84285047
Android: Upgrade dependencies
...
Desugar JDK 2.0.0 -> 2.0.2
Androidx Appcompat 1.6.0 -> 1.6.1
Androidx Exif Interface 1.3.5 -> 1.3.6
Material Components 1.7.0 -> 1.8.0
Androidx recyclerview 1.2.1 -> 1.3.0
Androidx viewmodel ktx 2.5.1 -> 2.6.0
Androidx viewmodel 2.5.1 -> 2.6.0
2023-03-15 23:58:11 -04:00
Charles Lombardo
805f921b55
Android: Remove unused benchmark flags
2023-03-15 23:57:47 -04:00
Charles Lombardo
2782318b8c
Android: Update ndk version to 25.2.9519653
2023-03-15 23:57:47 -04:00
Charles Lombardo
9020b6aeb9
Android: Convert SettingsAdapter to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
673c8d9cb2
Android: Convert SettingsActivity to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
4cbbe15e77
Android: Convert SettingsFragment to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
cea882181d
Android: Convert SettingsActivityPresenter to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
3b32ff6980
Android: Convert SettingsFile to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
92f39a98d6
Android: Convert SwitchSettingViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
49e480ee53
Android: Convert SubmenuViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
760417b08f
Android: Convert SliderViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
9b79f5fa5d
Android: Convert SingleChoiceViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
917a0c2287
Android: Convert SettingViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
7b7ee13162
Android: Convert RunRunnableViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
6a08b12c9b
Android: Convert InputStringSettingViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
bc6d10e29a
Android: Convert HeaderViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
789493b722
Android: Convert HeaderHyperLinkViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
220cdafbaa
Android: Convert FilePickerViewHolder to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
f0304d80ef
Android: Convert SettingsViewModel to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
508e56e2bf
Android: Convert SettingsFragmentView to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
656d91cd18
Android: Convert SettingsFragmentPresenter to Kotlin
2023-03-15 17:35:48 -04:00
Charles Lombardo
c78cde2e18
Android: Convert SettingsActivityView to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
dc77ee140d
Android: Convert MenuTag to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
2af8efdd72
Android: Convert SwitchSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
ab11b44938
Android: Convert SubmenuSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
065c80fb4d
Android: Convert SliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
3c6bb9e0c9
Android: Convert SingleChoiceSettingDynamicDescriptions to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
d51f504629
Android: Convert SingleChoiceSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
1fc9f03b27
Android: Convert RunRunnable to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
62679bacc1
Android: Convert PercentSliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
72be338d56
Android: Convert LogSwitchSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
56c33890b9
Android: Convert InvertedSwitchSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
2369977e14
Android: Convert IntSliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
826e849a7b
Android: Convert InputStringSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
fc97c4d35a
Android: Convert HyperLinkHeaderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
f95fd7788e
Android: Convert HeaderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
1e2e9e004b
Android: Convert FloatSliderSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
f7ad065408
Android: Convert FilePicker to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
1553477c09
Android: Convert StringSetting to Kotlin
2023-03-15 17:35:34 -04:00
Charles Lombardo
2c560e05a8
Android: Convert Settings to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
dee85cead8
Android: Convert PostProcessing to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
42f4fb815f
Android: Convert NativeConfig to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
7c59640f8e
Android: Convert IntSetting to Kotlin
2023-03-15 17:35:21 -04:00
Charles Lombardo
46e68171b9
Android: Convert FloatSetting to Kotlin
2023-03-15 17:34:49 -04:00
Charles Lombardo
3ac72855e3
Android: Convert BooleanSetting to Kotlin
2023-03-15 17:34:21 -04:00
Charles Lombardo
84c23c14db
Android: Convert AdHocStringSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
a8f3d4291a
Android: Convert AdHocBooleanSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
f1028b4652
Android: Convert AbstractStringSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
32f9e48257
Android: Convert AbstractIntSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
baeeaa2a43
Android: Convert AbstractFloatSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
5bc2b46983
Android: Convert AbstractBooleanSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
21e0b5b9d9
Android: Convert AbstractSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
43fa5cf5e4
Android: Convert SettingsItem to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
6dc6720250
Android: Convert StringSingleChoiceSetting to Kotlin
2023-03-15 15:49:37 -04:00
Charles Lombardo
98ab893be7
Android: Create extension functions for serializables
...
Getting serializables without explicitly stating the type is deprecated in Android 13. However we still need a way to get a serializable in versions below that. Now with these we can avoid repeating the same if block.
2023-03-15 14:26:37 -04:00
Pierre Bourdon
91fca0783e
Merge pull request #11647 from AdmiralCurtiss/perfquery-inconsistency
...
Fix PerfQuery inconsistencies across backends.
2023-03-15 15:20:11 +01:00
JosJuice
fe8be906f3
Android: Use LifecycleOwner instead of subtype
2023-03-14 23:03:13 +01:00
JosJuice
846f5f6671
Android: Clean up outdated comment in AfterDirectoryInitializationRunner
2023-03-14 23:03:13 +01:00
Mai
4281606838
Merge pull request #11641 from JosJuice/android-remove-old-config
...
Android: Remove support for the old config system
2023-03-14 15:48:04 -04:00
Pierre Bourdon
e83b6e19ab
Merge pull request #11655 from AdmiralCurtiss/dtk-heap
...
HW/DVDInterface: Avoid heap allocation in DTK callback.
2023-03-14 13:45:41 +01:00
Admiral H. Curtiss
4c21cdd0e6
HW/DVDInterface: Do DTK math in blocks instead of in samples.
2023-03-14 13:19:44 +01:00
Pierre Bourdon
aceafc9d26
Merge pull request #11652 from t895/header-padding
...
Android: Make header padding appear even
2023-03-14 13:03:19 +01:00
Admiral H. Curtiss
66b6a60afe
HW/DVDInterface: Avoid heap allocation in DTK callback.
2023-03-14 10:58:03 +01:00
Pierre Bourdon
3783bedc25
Merge pull request #11635 from Dentomologist/wiimote_fix_disconnection_deadlock
...
ControllerInterface: Fix deadlock when Wii Remote disconnects
2023-03-14 02:41:36 +01:00
Admiral H. Curtiss
aac9647ba2
Divide by MSAA for PerfQuery in all backends.
2023-03-14 02:13:25 +01:00
Admiral H. Curtiss
ddd2b598da
Return quarter value for PerfQuery in all backends.
2023-03-14 02:08:20 +01:00
Pierre Bourdon
970ddf0ea0
Merge pull request #11651 from JosJuice/android-profile-off-by-one
...
Android: Fix per-game profile setting off-by-one
2023-03-14 02:02:00 +01:00
Admiral H. Curtiss
43a5d506c8
Merge pull request #11644 from deReeperJosh/trapteamaudio
...
Skylander Portal: Play Trap Team Audio
2023-03-14 01:29:20 +01:00
Admiral H. Curtiss
26605c0184
Merge pull request #11649 from Pokechu22/tas-controller-input-update-widgets
...
DolphinQt: Fix TAS widgets not updating with enable controller input
2023-03-14 01:21:17 +01:00
Pierre Bourdon
5c962ea71f
Merge pull request #11650 from AdmiralCurtiss/more-system
...
More passing of System instead of using the singleton.
2023-03-13 23:36:17 +01:00
Pierre Bourdon
936c05e600
Merge pull request #11599 from shuffle2/vs17.5
...
vs: update to 17.5
2023-03-13 20:43:48 +01:00
Charles Lombardo
4f610bb354
Android: Make header padding appear even
2023-03-13 15:27:09 -04:00
JosJuice
5818685911
Android: Fix per-game profile setting off-by-one
2023-03-13 18:30:55 +01:00
Admiral H. Curtiss
3006c23c85
Core/CPUThreadGuard: Fetch System from Guard.
2023-03-13 18:13:20 +01:00
Admiral H. Curtiss
31d33d0efd
HW/ProcessorInterface: Store reference to System in class.
2023-03-13 18:13:20 +01:00
Admiral H. Curtiss
ba852a7812
HW/Memmap: Store reference to System in MemoryManager.
2023-03-13 18:13:20 +01:00
Admiral H. Curtiss
026b6a3e0f
HW: Pass System to functions.
2023-03-13 18:13:20 +01:00
Mai
137b9d1da1
Merge pull request #11646 from AdmiralCurtiss/si-class
...
HW/SerialInterface: Refactor to class.
2023-03-13 13:09:51 -04:00
Pierre Bourdon
a6b2655631
Merge pull request #11636 from shuffle2/updater-test
...
Add test for Updater
2023-03-13 15:47:37 +01:00
Pokechu22
3f6b931150
DolphinQt: Fix TAS widgets not updating with enable controller input
...
This regressed in 0300b44d23
. Specifically, the sliders and the stick/IR widgets did not update, but the spin boxes did update.
2023-03-12 17:58:48 -07:00
Joshua de Reeper
f27e8216a5
Skylander Portal: Play Trap Team Audio
...
Asserts and length handling
2023-03-13 13:01:48 +13:00
Admiral H. Curtiss
bf2f901a99
HW/SerialInterface: Refactor to class.
2023-03-12 16:08:56 +01:00
Robin Kertels
784ce78eaf
Android: Use $applicationId for DocmentProvider authority
...
Fixes side by side installation of debug, benchmark and release builds.
2023-03-12 15:28:21 +01:00
Admiral H. Curtiss
d371b17f37
HW/SerialInterface: Pass System to ISIDevice.
2023-03-12 14:19:38 +01:00
Mai
ab05dfc263
Merge pull request #11642 from shuffle2/winupdater-fail
...
winupdater: improve wording of UI::Error
2023-03-12 04:11:16 -04:00
Mai
ee28d332b0
Merge pull request #11640 from AdmiralCurtiss/vi-class
...
HW/VideoInterface: Refactor to class.
2023-03-11 18:00:24 -05:00
Shawn Hoffman
ab3da5e4ce
winupdater: improve wording of UI::Error
2023-03-11 13:25:38 -08:00
Shawn Hoffman
06cb4ffa64
winupdater: fix CR getting into parsed VCToolsUpdateURL
2023-03-11 12:58:33 -08:00
Shawn Hoffman
0a8725e4a9
updater: add test for update flow
...
currently windows-only
2023-03-11 12:58:33 -08:00
Shawn Hoffman
de0bc06856
updater: flush log after each write
2023-03-11 12:58:33 -08:00
JosJuice
804b94ee9e
Merge pull request #11524 from K0bin/document-provider
...
Android: Implement DocumentProvider
2023-03-11 19:24:19 +01:00
JosJuice
08334015f9
Android: Remove SettingsActivityView parameters from Settings
...
No longer used for anything.
2023-03-11 18:49:43 +01:00
JosJuice
99600ef781
Android: Rework the "global" settings functions
...
getXGlobal() is now identical to getX(), and setXGlobal(int, X) is now
identical to setX(int, X) in the cases where setX(int, X) exists.
We can remove/rename them.
2023-03-11 18:49:43 +01:00
JosJuice
58fc347f8d
Android: Don't require Settings object for reading a setting
...
Made unnecessary by the previous commit.
2023-03-11 18:49:43 +01:00
JosJuice
68fd133057
Android: Remove support for the old config system
...
All settings that we care about from an Android perspective are now
supported by the new config system, so we can remove all the Android code
for the old config system. This should have no impact on users.
2023-03-11 17:51:59 +01:00
JosJuice
53e7090f55
Migrate game INI profile setting to new config system
2023-03-11 17:51:58 +01:00
Admiral H. Curtiss
069280ddc6
HW/VideoInterface: Refactor to class.
2023-03-11 12:50:35 +01:00
Admiral H. Curtiss
2102e64299
HW/VideoInterface: Savestate members individually.
2023-03-11 12:48:02 +01:00
JosJuice
62ff2f1030
Merge pull request #11385 from JosJuice/android-input-overhaul
...
Android input overhaul
2023-03-11 12:37:44 +01:00
Admiral H. Curtiss
84542d915d
HW/MemoryInterface: Refactor to class.
2023-03-11 00:57:16 +01:00
Admiral H. Curtiss
bf95d4012f
HW/EXI: Refactor ExpansionInterface to class.
2023-03-11 00:56:37 +01:00
Mai
e4df388128
Merge pull request #11638 from JosJuice/tas-input-motionplus
...
DolphinQt: Add MotionPlus support to TAS input
2023-03-10 16:54:35 -05:00
Admiral H. Curtiss
d31733ce64
HW/DVD: Rename DVDThreadManager to DVDThread.
2023-03-10 20:22:29 +01:00
Admiral H. Curtiss
25e883280a
HW/DVD: Merge DVDThread namespace into DVD.
2023-03-10 20:20:19 +01:00
JosJuice
4d34f86121
DolphinQt: Add MotionPlus support to TAS input
...
Will manually controlling both an accelerometer and a gyroscope at the
same time be reasonable to do? No idea. Was this easy to implement
thanks to the input override system? Yes.
Fixes https://bugs.dolphin-emu.org/issues/12443 .
2023-03-10 19:36:17 +01:00
Admiral H. Curtiss
d26a540253
HW/DVD: Rename DVDInterfaceManager to DVDInterface.
2023-03-10 18:37:46 +01:00
Admiral H. Curtiss
ee35103ed9
HW/DVD: Rename DVDInterface namespace to DVD.
2023-03-10 18:37:18 +01:00
Admiral H. Curtiss
dca8e9dc1e
HW/DVDThread: Refactor to class.
2023-03-10 18:12:59 +01:00
Admiral H. Curtiss
eb25c46a91
HW/DVDInterface: Refactor to class.
2023-03-10 18:12:59 +01:00
Admiral H. Curtiss
929222ffbd
HW/DSP: Refactor to class.
2023-03-09 22:35:29 +01:00
Mai
40ff9b25b7
Merge pull request #11633 from AdmiralCurtiss/ai-class
...
HW/AudioInterface: Refactor to class.
2023-03-09 11:59:47 -05:00
Admiral H. Curtiss
1023e5dd4f
Merge pull request #11441 from JosJuice/jit64-lea-fixup
...
Jit64: Fix the offsetAddedToAddress correction
2023-03-09 16:13:25 +01:00
Admiral H. Curtiss
9ed388fc8a
Merge pull request #11557 from AdmiralCurtiss/split-file-reader
...
DiscIO: Add support for CleanRip-style split ISOs.
2023-03-09 16:13:15 +01:00
Admiral H. Curtiss
8c7997d6ca
Merge pull request #11601 from Dentomologist/bluetooth_adapter_missing_message
...
Config: Restore Bluetooth adapter missing message in Controller Settings
2023-03-09 16:10:14 +01:00
Admiral H. Curtiss
234c5dd90e
Merge pull request #11622 from JosJuice/tas-input-nonblocking
...
DolphinQt: Rework TAS input threading
2023-03-09 16:08:30 +01:00
Charles Lombardo
a6b1b2f9a5
Merge pull request #11631 from K0bin/pref-divider
...
Android: Only show divider in settings for headers
2023-03-08 23:56:39 -05:00
Admiral H. Curtiss
d638d2dcb7
HW/AudioInterface: Refactor to class.
2023-03-09 02:40:29 +01:00
Dentomologist
d6a8e6caaf
ControllerInterface: Fix deadlock when Wii Remote disconnects
...
In UpdateInput, lock m_devices_population_mutex before m_devices_mutex
to be consistent with other ControllerInterface functions. Normally the
former lock isn't needed in UpdateInput, but when a Wii Remote
disconnects it calls RemoveDevice which results in the mutexes being
locked in the wrong order.
2023-03-08 17:22:27 -08:00
Robin Kertels
13ed46a488
Android: Implement DocumentProvider
...
This allows users to access the Dolphin user directory.
2023-03-08 23:09:49 +01:00
Admiral H. Curtiss
a1c2651fee
HW/EXI: Pass System to IEXIDevice.
2023-03-08 22:51:17 +01:00
Admiral H. Curtiss
7044cff011
Core/Boot: Pass around System.
2023-03-08 22:41:43 +01:00
Admiral H. Curtiss
912cd456fb
Core: Add System parameter to CPUThreadGuard.
2023-03-08 22:41:42 +01:00
Robin Kertels
1b47144312
Android: Center list view headers
2023-03-08 18:57:19 +01:00
Robin Kertels
edde253724
Android: Only show divider in settings for headers
2023-03-08 18:57:08 +01:00
Mai
c592c94395
Merge pull request #11630 from AdmiralCurtiss/globals-cpu
...
HW/CPU: Refactor to class, move to System.
2023-03-08 11:52:30 -05:00
JosJuice
0300b44d23
DolphinQt: Rework TAS input threading, part 2 (analog inputs)
2023-03-08 17:49:03 +01:00
JosJuice
11e4d46927
DolphinQt: Remove unneeded out parameters in TASInputWindow
...
IIRC we needed this before the input override system was added.
2023-03-08 17:49:03 +01:00
JosJuice
3eac1fc284
DolphinQt: Rework TAS input threading, part 1 (buttons)
...
This gets rid of a blocking operation, improving performance and fixing
https://bugs.dolphin-emu.org/issues/12893 .
This also makes us no longer directly access the state of certain UI
elements from the CPU thread, which probably wasn't thread-safe but
doesn't seem to have caused any observable issues so far.
2023-03-08 17:49:02 +01:00
Admiral H. Curtiss
3b364c5c16
HW/CPU: Refactor to class, move to System.
2023-03-08 12:23:37 +01:00
Mai
f1e4b6a141
Merge pull request #11494 from t895/orientation-jank
...
Android: Rewrite Wii system updates in Kotlin
2023-03-08 01:42:53 -05:00
Admiral H. Curtiss
0b9002ec2a
Merge pull request #11568 from SMarioMan/socket-broadcast
...
Network/Socket: Enable broadcast permissions in socket requests
2023-03-08 00:11:44 +01:00
Charles Lombardo
75ce7a04ca
Android: Use coroutine for system updates
2023-03-07 15:45:41 -05:00
Charles Lombardo
d66d8210bf
Android: Switch to indeterminate progress bar on system update cancel
2023-03-07 15:45:41 -05:00
Charles Lombardo
917ca2273e
Android: Remove hardcoded strings from system update dialogs
2023-03-07 15:45:41 -05:00
Charles Lombardo
410aaef56e
Android: Remove orientation lock on system update dialog
2023-03-07 15:45:41 -05:00
Charles Lombardo
c0868f04a9
Android: Use Kotlin extensions for lifecycle components
2023-03-07 15:45:41 -05:00
Charles Lombardo
5eeb0a540b
Android: Convert OnlineUpdateRegionSelectDialogFragment to Kotlin
2023-03-07 15:45:41 -05:00
Charles Lombardo
0ac4fe763b
Android: Convert SystemMenuNotInstalledDialogFragment to Kotlin
2023-03-07 15:45:41 -05:00
Charles Lombardo
c8907349be
Android: Convert SystemUpdateResultFragment to Kotlin
2023-03-07 15:45:40 -05:00
Charles Lombardo
60cb886cd4
Android: Convert WiiUtils to Kotlin
2023-03-07 15:45:40 -05:00
Charles Lombardo
2b17e0334a
Android: Convert SystemUpdateViewModel to Kotlin
2023-03-07 15:45:40 -05:00
Charles Lombardo
6dfa555099
Android: Convert SystemUpdateProgressBarDialogFragment to Kotlin
2023-03-07 15:45:40 -05:00
Mai
16023ece6d
Merge pull request #11621 from deReeperJosh/skylandersfilefix
...
Skylander Portal: Clearing and Reloading fix
2023-03-07 15:24:46 -05:00
Admiral H. Curtiss
6d38dd9821
Qt/WatchWidget: Don't update if not paused.
2023-03-07 20:31:15 +01:00
JosJuice
75fb1a7edf
Android: Disable input device sensor input due to crash
2023-03-07 17:39:34 +01:00
JosJuice
1788a797e7
Android: Add "more settings" button to overlay control setting dialog
...
Some people might wonder where the ability to select an extension
and the Sideways Wii Remote went. This button will take them to the
general settings, which is where those settings now live.
At some point in the future, we should probably move everything to the
general settings. But this pull request is already big enough as it is!
2023-03-07 17:39:34 +01:00
JosJuice
6b5f82c12f
Android: Change how the overlay controller setting works, part 2
...
The previous commit wasn't enough for getting inputs to work for
controllers 2-4.
2023-03-07 17:39:34 +01:00
JosJuice
1b55d7c594
Android: Change how the overlay controller setting works
...
Up until now, there have been two settings on Android that stored the
selected Wii Remote extension: the normal one that's also used on PC,
and a SharedPreferences one that's used by the overlay controls to
determine what controls to show. It is possible for these two to end up
out of sync, and my input changes have made that more likely to happen.
To fix this, let's rework how the overlay controller setting works.
We don't want it to encode the currently selected Wii Remote extension.
However, we can't simply get rid of the setting, because for some Wii
games we need the ability to switch between a GameCube controller and a
Wii Remote. What this commit does is give the user the option to select
any of the 4 GameCube controllers and any of the 4 Wii Remotes. (Before,
controllers 2-4 weren't available in the overlay.) Could be useful for
things like the Psycho Mantis fight in Metal Gear Solid. I'm also
switching from SharedPreferences to Dolphin.ini while I'm at it.
2023-03-07 17:39:34 +01:00
JosJuice
4c326f2030
Android: Remove the in-emulation IR sensitivity options
...
This too can be set in the normal controller settings now.
2023-03-07 17:39:34 +01:00
JosJuice
ee2c7dc24b
Android: Remove the in-emulation motion control options
...
You can set this in the normal controller settings now.
2023-03-07 17:39:34 +01:00
JosJuice
9b9b6d97bc
Config: Simplify IsSettingSaveable's handling of Android section
...
The Android-specific controller mapping system is now gone,
so IsSettingSaveable can be greatly simplified.
2023-03-07 17:39:34 +01:00
JosJuice
32cb41007b
Android: Allow changing controller settings during emulation
2023-03-07 17:39:34 +01:00
JosJuice
c2779aef06
Android: Add the advanced input mapping dialog
...
It's missing a lot of features from the PC version for now, like
buttons for inserting functions and the ability to see what the
expression evaluates to. I mostly just wanted to get something in
place so you can set up rumble.
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-07 17:39:30 +01:00
Admiral H. Curtiss
f389da2a33
HW/HSP: Refactor to class, move to System.
2023-03-07 02:11:39 +01:00
Admiral H. Curtiss
655cc7f75c
DiscIO: Add support for CleanRip-style split ISOs.
2023-03-05 19:23:55 +01:00
Scott Mansell
4acdbc0e84
Merge pull request #11625 from phire/eventhook_nodiscard
...
Fix KillRenderer config changed regression
2023-03-06 03:09:12 +13:00
Scott Mansell
901f12c935
HookableEvents: Add [[nodiscard]] to Register
2023-03-06 00:12:26 +13:00
Scott Mansell
b7db2510ef
Don't discard ConfigChanged callback handle
2023-03-06 00:12:26 +13:00
Scott Mansell
70cfb46f8e
Fix duplicated FPS
...
This is a small regression from KillRenderer, which caused duplicated
frames to be counted on the FPS counter when the "Skip Presenting
Duplicated Frames" option was disabled.
2023-03-05 23:31:12 +13:00
Shawn Hoffman
5bf9ad7d82
msvc: enable compiler checks added in vs 17.5
2023-03-04 14:18:18 -08:00
Shawn Hoffman
35bde3e7c8
msvc: bump required version to align with vs 17.5
2023-03-04 14:18:18 -08:00
Joshua de Reeper
2585ae9b2c
Skylander Portal: Clearing and Reloading fix
2023-03-04 20:13:54 +13:00
JosJuice
42943672bb
Android: Add selecting input profile per game
2023-03-03 22:28:25 +01:00
JosJuice
1eeded23df
Android: Add input profile management
...
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-03 22:28:25 +01:00
JosJuice
7ef229d908
Android: Show warning when using old pre-defined controller INIs
...
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-03 22:28:25 +01:00
JosJuice
8b78f73e80
Android: Add Default and Clear actions for controllers
2023-03-03 22:28:25 +01:00
JosJuice
ea3200d4ba
Android: Prevent showing mapping dialog with no device selected
2023-03-03 22:28:25 +01:00
JosJuice
a1cc19f443
Android: Add "Create mappings for other devices"
2023-03-03 22:28:24 +01:00
JosJuice
2b1dd52750
Android: Add input device selection
2023-03-03 22:28:24 +01:00
JosJuice
2113bf5e3a
Android: Implement enabling/disabling control groups
...
All this code for just a single checkbox... Ah well, it has to be done
2023-03-03 22:28:24 +01:00
JosJuice
a78dca5fb0
Android: Move Sideways Wii Remote setting one submenu up
...
A slight departure from DolphinQt, but I think it makes sense, because
it will make the important Sideways Wii Remote setting easier to find.
2023-03-03 22:28:24 +01:00
JosJuice
e7530a1cb9
Android: Split Wii Remote settings into submenus
...
Too much stuff on one screen otherwise. This split matches DolphinQt.
2023-03-03 22:28:24 +01:00
JosJuice
0dd8bbbbbb
Android: Add extension selection
2023-03-03 22:28:24 +01:00
JosJuice
1c26a85e35
Android: Add NumericSetting support
2023-03-03 22:28:24 +01:00
JosJuice
2c529b9db1
Android: Add new input mapping implementation
2023-03-03 22:28:24 +01:00
JosJuice
dd8976f18d
Android: Remove old input mapping implementation
...
This old code is of no use now that ButtonManager is gone.
2023-03-03 22:28:24 +01:00
JosJuice
304d898966
Android: Remove copyAsset's overwrite parameter
...
Because of the previous commit, this is no longer needed.
2023-03-03 22:28:24 +01:00
JosJuice
93657cce54
Android: Stop extracting pre-defined controller INIs
2023-03-03 22:28:24 +01:00
JosJuice
9a8a395560
GCPadEmu/WiimoteEmu: Reorder control groups
...
This way, Android (which will show groups in the order they're defined)
will show groups in a more logical order similar to DolphinQt.
The main thing that was annoying me was how early Rumble was for
Wii Remotes. Some of the other changes I'm making in this commit,
like the order of Shake/Tilt/Swing, are more arbitrary and were
made for consistency with DolphinQt. But there are also places
where I didn't go all the way with matching DolphinQt. Most notably,
DolphinQt puts sticks before buttons, but I don't see any reason
to do that for Android.
2023-03-03 22:28:24 +01:00
JosJuice
e0562abb7d
ControllerEmu: Add default mappings for Android
...
Unlike PCs, Android doesn't really have any input method (not counting
touch) that can reasonably be expected to exist on most devices.
Because of this, I don't think shipping with a default mapping for the
buttons and sticks of GameCube controllers and Wii Remotes makes sense.
I would however like to ship default mappings for a few things:
1. Mapping the Wii Remote's accelerometer and gyroscope to the device's
accelerometer and gyroscope. This functionality is useful mainly
for people who use the touchscreen, but can also be useful when
using a clip-on controller. The disadvantage of having this mapped
by default is that games disable pointer input if the accelerometer
reports that the Wii Remote is pointed at the ceiling.
2. Mapping GC keyboards for use with a physical keyboard, like on PC.
After all, there's no other way of mapping them that makes sense.
3. Mapping rumble to the device's vibrator.
Aside from the GC keyboards, this approach is effectively the same as
what we were doing before the input overhaul.
2023-03-03 22:28:23 +01:00
JosJuice
8e33458f48
ControllerInterface/Android: Implement rumble
2023-03-03 22:28:23 +01:00
JosJuice
065481d989
ControllerInterface/Android: Automatically suspend sensors
...
This is a battery-saving measure. Whether a sensor should be suspended
is determined in the same way as whether key events and motion events
should be handled by the OS rather than consumed by Dolphin.
2023-03-03 22:28:23 +01:00
JosJuice
36acb17700
ControllerInterface/Android: Implement sensor input for InputDevices
...
This functionality was added in Android 12 to let apps get motion data
for gamepads.
2023-03-03 22:28:23 +01:00
JosJuice
5e51b56d72
ControllerInterface/Android: Implement sensor input
2023-03-03 22:28:23 +01:00
JosJuice
104ea09892
ControllerInterface/Android: Implement hotplug
2023-03-03 22:28:23 +01:00
JosJuice
d6af294a23
ControllerInterface/Android: Return whether input was handled
...
When Android presents an input event to an app, it wants the app to
return true or false depending on whether the app handled the event or
not. If the event wasn't handled by the app, it will be passed on to
the system, which may decide to take an action depending on what kind
of input event it is. For instance, if a B button press is passed on to
the system, it will be turned into a Back press. But if an R1 press is
passed on to the system, nothing in particular happens.
It's important that we get this return value right in Dolphin. For
instance, the user generally wouldn't want a B button press to open
the EmulationActivity menu, so B button presses usually shouldn't be
passed on to the system - but volume button presses usually should be
passed on to the system, since it would be hard to adjust the volume
otherwise. What ButtonManager did was to pass on input events that are
for a button which the user has not mapped, which I think makes sense.
But exactly how to implement that is more complicated in the new input
backend than in ButtonManager, because now we have a separation between
the input backend and the code that keeps track of the user's mappings.
What I'm going with in this commit is to treat an input as mapped if
it has been polled recently. In part I chose this because it seemed
like a simple way of implementing it that wouldn't cause too many
layering violations, but it also has two useful side effects:
1. If a controller is not being polled (e.g. GameCube controllers in
Wii games that don't use them), its mappings will not be considered.
2. Once sensor input is implemented in the Android input backend,
we will be able to use this "polled recently" tracking to power down
the sensors at times when the game is using a Wii Remote reporting
mode that doesn't include motion data. (Assuming that the sensor
inputs only are mapped to Wii Remote motion controls, that is.)
2023-03-03 22:28:23 +01:00
JosJuice
ca508e4503
ControllerInterface/Android: Handle input events
...
Android doesn't let us poll inputs whenever we want. Instead, we
listen to input events (activities will have to forward them to the
input backend), and store the received values in atomic variables
in the Input classes. This is similar in concept to how ButtonManager
worked, but without its homegrown second input mapping system.
2023-03-03 22:28:23 +01:00
JosJuice
792cb62195
ControllerInterface/Android: Implement device population
2023-03-03 22:28:23 +01:00
JosJuice
68ebb5c33e
Android: Remove old rumble implementation
2023-03-03 22:28:23 +01:00
JosJuice
9e7a2ee0fb
Android: Remove old motion input implementation
2023-03-03 22:28:23 +01:00
JosJuice
0150f521f7
ControllerInterface/Android: Rip out ButtonManager
...
ButtonManager is very different from how a normal input backend works,
and is making it hard for us to improve controller support on Android.
The following commits will add a new input backend in its place.
2023-03-03 22:28:23 +01:00
JosJuice
95ce41ac56
Merge pull request #11399 from JosJuice/jit-one-stack
...
Jit: Don't use a second stack
2023-03-03 22:27:16 +01:00
Minty-Meeo
bf079d6d3a
[[unlikely]] ASSERT
...
and other ASSERT usage changes
2023-03-02 19:54:15 -06:00
Mai
6361586a04
Merge pull request #11582 from Pokechu22/software-crash-on-startup
...
Software: Fix regressions from "Kill Renderer"
2023-03-02 15:13:00 -05:00
Mai
ab2f8d3475
Merge pull request #11607 from AdmiralCurtiss/sd-progress
...
Qt/WiiPane: Add progress window for SD card conversion.
2023-03-02 15:08:18 -05:00
Mai
6fcec80eb0
Merge pull request #11605 from JosJuice/android-mappings-button
...
Android: Add a button for accessing controller mappings
2023-03-02 15:06:47 -05:00
Mai
cbbc518bc4
Merge pull request #11612 from iwubcode/custom_texture_data
...
VideoCommon: move hirestexture data to reusable class called CustomTextureData
2023-03-02 15:05:46 -05:00
Mai
78e8669bac
Merge pull request #11614 from t895/kotlin-cheats
...
Android: Convert Cheats Activity to Kotlin
2023-03-02 15:04:19 -05:00
Mai
1b7969bc62
Merge pull request #11615 from t895/kotlin-riivolution
...
Android: Convert Riivolution Boot Activity to Kotlin
2023-03-02 15:03:43 -05:00
Mai
b9fd7e7bd4
Merge pull request #11616 from t895/kotlin-skylanders
...
Android: Convert Skylanders code to Kotlin
2023-03-02 15:03:18 -05:00
Pokechu22
9cdc0aca9b
Software: Fix "Auto-Adjust Window Size"
...
This also needs to be handled on the software renderer path.
2023-03-02 11:08:49 -08:00
Pokechu22
78428dd8db
Software: Fix crash on startup when using "Compile Shaders Before Starting"
...
When that setting is enabled, m_xfb_entry is initially not present (during the phase where a shader compilation progress bar would be shown). The main path checks for m_xfb_entry, but the software renderer fallback path didn't.
Fixes another aspect of https://bugs.dolphin-emu.org/issues/13172 .
2023-03-02 11:08:49 -08:00
Pokechu22
4a2d3c83c7
Software: Implement GetSurfaceInfo()
...
Before, it used a fallback where it returned a default object, where the width and height were set to 0. Presenter::Initialize() used GetSurfaceInfo to set the backbuffer size, then used that size when initializing the on-screen UI (even for the software renderer, where the on-screen UI isn't currently present), which meant that ImGui got a window size of 0 and thus resulted in a failed assertion.
Although BindBackbuffer checks for size changes, it doesn't help because ImGui has already been initialized, and the size hasn't actually changed since initialization occured.
Fixes one aspect of https://bugs.dolphin-emu.org/issues/13172 .
2023-03-02 11:08:49 -08:00
JosJuice
96deb2d897
Android: Hide controller mappings button when controller type is None
...
Also removed the make_sure_continuous_scan_enabled message.
It doesn't make sense with the new UX.
2023-03-02 18:25:10 +01:00
Charles Lombardo
2067c8eed1
Android: Convert ConvertActivity to Kotlin
2023-03-02 01:54:46 -05:00
Charles Lombardo
fb432dd58a
Android: Convert ConvertFragment to Kotlin
2023-03-02 01:54:46 -05:00
SMarioMan
078730c873
Avoid altering TCP sockets
...
Co-authored-by: sepalani <sepalani@hotmail.fr>
2023-03-01 20:52:43 -05:00
Charles Lombardo
7efb672be6
Android: Convert SkylanderSlotAdapter to Kotlin
2023-03-01 17:32:19 -05:00
Charles Lombardo
36f1315513
Android: Convert SkylanderSlot to Kotlin
2023-03-01 17:32:07 -05:00
Charles Lombardo
bbc1951afb
Android: Convert SkylanderConfig to Kotlin
2023-03-01 17:32:07 -05:00
Charles Lombardo
71e82d76b5
Android: Convert SkylanderPair to Kotlin
2023-03-01 17:13:42 -05:00
Charles Lombardo
85b30f198b
Android: Convert Skylander to Kotlin
2023-03-01 17:13:01 -05:00
Charles Lombardo
4045e213ba
Android: Convert RiivolutionAdapter to Kotlin
2023-03-01 14:39:18 -05:00
Charles Lombardo
df21663d4c
Android: Convert RiivolutionBootActivity to Kotlin
2023-03-01 14:38:59 -05:00
Charles Lombardo
79d0ff55d2
Android: Convert RiivolutionItem to Kotlin
2023-03-01 14:38:37 -05:00
Charles Lombardo
e37503675a
Android: Convert RiivolutionViewHolder to Kotlin
2023-03-01 14:38:19 -05:00
Charles Lombardo
ec7b811de3
Android: Convert RiivolutionPatches to Kotlin
2023-03-01 14:38:02 -05:00
Charles Lombardo
3935449ca0
Android: Convert TwoPaneOnBackPressedCallback to Kotlin
2023-03-01 13:47:28 -05:00
Charles Lombardo
6bc4ae7438
Android: Convert SettingDisabledWarningFragment to Kotlin
2023-03-01 13:41:55 -05:00
Charles Lombardo
53d404c5a0
Android: Convert HeaderViewHolder to Kotlin
2023-03-01 13:41:02 -05:00
Charles Lombardo
58b7b80902
Android: Convert GraphicsModsDisabledWarningFragment to Kotlin
2023-03-01 13:40:48 -05:00
Charles Lombardo
a8da5902bb
Android: Convert CheatViewHolder to Kotlin
2023-03-01 13:40:28 -05:00
Charles Lombardo
25fb3218d9
Android: Convert CheatsDisabledWarningFragment to Kotlin
2023-03-01 13:40:08 -05:00
Charles Lombardo
fcfde12c52
Android: Convert CheatsAdapter to Kotlin
2023-03-01 13:39:49 -05:00
Charles Lombardo
23d9def613
Android: Convert CheatsActivity to Kotlin
2023-03-01 13:39:23 -05:00
Charles Lombardo
3bcc4a0a59
Android: Convert CheatListFragment to Kotlin
2023-03-01 13:39:07 -05:00
Charles Lombardo
d8c1381155
Android: Convert CheatItemViewHolder to Kotlin
2023-03-01 13:38:27 -05:00
Charles Lombardo
cacbac9152
Android: Convert CheatItem to Kotlin
2023-03-01 13:37:57 -05:00
Charles Lombardo
5f5c95e7da
Android: Convert CheatDetailsFragment to Kotlin
2023-03-01 13:37:21 -05:00
Charles Lombardo
b2dd510d0a
Android: Convert ActionViewHolder to Kotlin
2023-03-01 13:37:07 -05:00
Charles Lombardo
fb177631ef
Android: Convert ReadOnlyCheat to Kotlin
2023-03-01 13:36:53 -05:00
Charles Lombardo
59ecda7939
Android: Convert CheatsViewModel to Kotlin
2023-03-01 13:36:40 -05:00
Charles Lombardo
1b61f2c223
Android: Convert Cheat to Kotlin
2023-03-01 13:35:43 -05:00
Charles Lombardo
fbc617c917
Android: Convert AbstractCheat to Kotlin
2023-03-01 13:35:33 -05:00
Charles Lombardo
37e8cd1789
Android: Convert GeckoCheat to Kotlin
2023-03-01 13:35:14 -05:00
Charles Lombardo
9e090c6bab
Android: Convert GraphicsMod to Kotlin
2023-03-01 13:34:34 -05:00
Charles Lombardo
5f6995fe6c
Android: Convert GraphicsModGroup to Kotlin
2023-03-01 13:34:09 -05:00
Charles Lombardo
9cbe66bce4
Android: Convert PatchCheat to Kotlin
2023-03-01 13:33:16 -05:00
Charles Lombardo
408b6cb50c
Android: Convert ARCheat to Kotlin
2023-03-01 13:32:42 -05:00
iwubcode
42cb3f3904
VideoCommon: remove HiResTexture DDS loading, update hirestexture logic to use custom texture data
2023-03-01 12:11:04 -06:00
iwubcode
3e35255983
VideoCommon: add class to load custom texture data
2023-03-01 11:58:37 -06:00
Charles Lombardo
a4730a9388
Android: Initialize TaskViewModel earlier in User Data Activity
2023-03-01 08:28:44 -05:00
Charles Lombardo
211be4698f
Merge pull request #11515 from t895/user-data-kotlin
...
Android: Rewrite User Data Activity in Kotlin
2023-02-28 23:47:00 -05:00
Charles Lombardo
c904e068f0
Android: Use DialogFragments to direct UserData actions
2023-02-28 22:33:42 -05:00
Charles Lombardo
8d1cf14565
Android: Convert ThreadUtil to Kotlin
2023-02-28 22:21:18 -05:00
Admiral H. Curtiss
e2bd7d1d95
Common/FatFsUtil: Close temp file before deleting it on conversion failure.
2023-02-28 20:31:56 +01:00
Admiral H. Curtiss
fe26b54efd
Qt/WiiPane: Add progress window for SD card conversion.
2023-02-28 20:31:55 +01:00
Admiral H. Curtiss
435d8c39ee
Common/FatFsUtil: Add callback for cancelling SD card conversion.
2023-02-28 20:31:51 +01:00
JosJuice
b6256a57ef
Jit: Move stack handling code to JitBase
...
Deduplication between Jit64 and JitArm64.
2023-02-28 20:30:06 +01:00
JosJuice
86c1f6e1e7
Jit: Don't use a second stack
...
This second stack leads to JNI problems on Android, because ART fetches
the address and size of the original stack using pthread functions
(see GetThreadStack in art/runtime/thread.cc), and (presumably) treats
stack addresses outside of the original stack as invalid. (What I don't
understand is why some JNI operations on the CPU thread work fine
despite this but others don't.)
Instead of creating a second stack, let's borrow the approach ART uses:
Use pthread functions to find out the stack's address and size, then
install guard pages at an appropriate location. This lets us get rid
of a workaround we had in the MsgAlert function.
Because we're no longer choosing the stack size ourselves, I've made some
tweaks to where the put the guard pages. Previously we had a stack of
2 MiB and a safe zone of 512 KiB. We now accept stacks as small as 512 KiB
(used on macOS) and use a safe zone of 256 KiB. I feel like this should
be fine, but haven't done much testing beyond "it seems to work".
By the way, on Windows it was already the case that we didn't create
a second stack... But there was a bug in the implementation!
The code for protecting the stack has to run on the CPU thread, since
it's the CPU thread's stack we want to protect, but it was actually
running on EmuThread. This commit fixes that, since now this bug
matters on other operating systems too.
2023-02-28 20:29:46 +01:00
JosJuice
0cdae98181
Jit: Fix GUARD_OFFSET calculation
...
Seems like this was broken all along. The safe zone is at the lower
addresses of the stack, not the higher addresses.
2023-02-28 19:11:35 +01:00
Admiral H. Curtiss
a0974c18cd
RiivolutionPatcher: Use capitalization of file that exists in the host file system if possible.
...
Fixes https://bugs.dolphin-emu.org/issues/13138
2023-02-28 00:56:34 +01:00
Admiral H. Curtiss
bdb19085c4
Common: Add utility function for case-insensitive string comparison.
2023-02-28 00:56:33 +01:00
JosJuice
b827b155a0
Android: Refactor handleMenuTag
...
It was a bit silly having four functions for effectively the same thing
in all of SettingsFragmentView, SettingsFragment, SettingsActivityView,
SettingsActivity, and SettingsActivityPresenter.
With this change, we split on the four MenuTag types in
SettingsActivityPresenter instead of in SettingsAdapter.
2023-02-27 21:52:17 +01:00
JosJuice
8acc39cc3f
Android: Add a button for accessing controller mappings
...
The settings GameCube Controller N and Wii Remote N (where N is a number)
have two purposes: You can select what controller type you want to use,
and also, when you select a controller type (even if you're selecting the
one that already is selected), the mapping settings open. This second part
is less discoverable than it ideally should be. I'm changing it so that
there now is a button for opening the mapping settings instead.
2023-02-27 20:10:24 +01:00
JosJuice
7586fc8134
Merge pull request #11608 from Dentomologist/fix_dynamicinputtextures_directory_error_logs
...
UICommon: Create Load/DynamicInputTextures directory on startup
2023-02-27 18:07:57 +01:00
Admiral H. Curtiss
251fb92b80
Merge pull request #11606 from JosJuice/control-group-save-enabled
...
InputCommon: Fix ControlGroup::SaveConfig with DefaultValue::Disabled
2023-02-27 12:02:25 +01:00
Admiral H. Curtiss
c730ee2de2
Merge pull request #11596 from AdmiralCurtiss/copyany
...
Common/FileUtil: Migrate CopyDir() to a more clear interface.
2023-02-27 12:02:00 +01:00
Admiral H. Curtiss
a11b9d585f
Common/FileUtil: Remove obsolete CopyDir() function.
2023-02-26 23:17:10 +01:00
Admiral H. Curtiss
4f462b4ef6
Migrate destructive calls of File::CopyDir() to File::Move().
2023-02-26 23:17:10 +01:00
Admiral H. Curtiss
5367bf394c
Common/FileUtil: Add Move() function.
2023-02-26 23:17:09 +01:00
Dentomologist
e62162e486
UICommon: Create Load/DynamicInputTextures directory on startup
...
Fix console error spam on Dolphin and game startup if the directory
doesn't exist.
2023-02-26 13:10:15 -08:00
Daniel Garza
02f7c0213f
Qt/GameList: Also filter by filename when searching.
2023-02-26 19:13:45 +01:00
JosJuice
9b3816c993
InputCommon: Fix ControlGroup::SaveConfig with DefaultValue::Disabled
...
I also changed LoadConfig, but that change doesn't affect correctness,
it's only so it looks neat by matching SaveConfig.
This bug was added in 18a4afb053
, the
commit that introduced DefaultValue::Disabled. The bug can't actually be
triggered in master, but it can be triggered in the Android input
overhaul PR.
2023-02-26 17:45:09 +01:00
Admiral H. Curtiss
26adf78e45
Merge pull request #11602 from JosJuice/cpu-guard-expression
...
PowerPC: Rework CPUThreadGuard handling in Expression.cpp
2023-02-26 11:55:47 +01:00
Shawn Hoffman
28956cc6c2
workaround msvc optimizer bug
2023-02-25 23:26:27 -08:00
Dentomologist
ad6e95afb4
D3D: Restore workaround for erroneous NaN optimization
...
The HLSL compiler incorrectly decides isnan can't be true, so this
workaround was originally added in 52c82733
but lost during the
conversion to SPIR-V.
2023-02-25 16:27:30 -08:00
JosJuice
19e8569634
Merge pull request #11594 from t895/autofit-grid
...
Android: Responsive autofit grid
2023-02-25 17:30:40 +01:00
Charles Lombardo
a049a0d4bc
Android: Remove unused refreshScreenshotAtPosition interface method
2023-02-25 11:17:16 -05:00
Charles Lombardo
5957d85178
Android: Create AutofitGridLayoutManager
...
Extends GridLayoutManager to make span changes much more responsive.
2023-02-25 11:17:16 -05:00
JosJuice
ae5311d6e6
PowerPC: Rework CPUThreadGuard handling in Expression.cpp
...
See https://github.com/dolphin-emu/dolphin/pull/11554#discussion_r1113949572 .
2023-02-25 16:13:34 +01:00
Dentomologist
d18735e82e
Qt/WiimoteControllersWidget: Add bluetooth unavailable message
2023-02-24 14:30:43 -08:00
Admiral H. Curtiss
1ed0e014cd
Migrate non-destructive calls of File::CopyDir() to File::Copy().
2023-02-24 20:32:19 +01:00
Admiral H. Curtiss
884917a6d5
Common/FileUtil: Use non-throwing overload of is_directory() in CreateDir() and CreateFullPath().
2023-02-24 20:32:19 +01:00
Admiral H. Curtiss
e479f92418
Common/FileUtil: Add CreateDirs() function as a wrapper around std::filesystem::create_directories().
2023-02-24 20:32:18 +01:00
Admiral H. Curtiss
616d57e7fc
Common/FileUtil: Add Copy() function as a wrapper around std::filesystem::copy().
2023-02-24 20:32:18 +01:00
iwubcode
5d571b068f
VideoBackends: rework d3d11 to specify samplers/bound textures using a bitset with a constant size, instead of hardcoding each individual enumeration value
2023-02-24 11:32:48 -06:00
Shawn Hoffman
2c2fb869a2
use std-provided randomness for JitArm64 unittests
...
decreases runtime significantly and lessens dependency on mbedtls
2023-02-22 12:55:12 -08:00
Admiral H. Curtiss
e52aa52a66
Common/FileUtil: Rename Copy() to CopyRegularFile().
...
This is to clarify that it can only copy files, not folders.
2023-02-22 11:43:58 +01:00
Léo Lam
3c4a21315d
Merge pull request #11592 from Pokechu22/fix-delete-ticket
...
IOS/ES: Fix crash when deleting tickets
2023-02-21 10:53:37 +01:00
Pokechu22
f2ac3aec94
IOS/ES: Fix crash when deleting tickets
...
This broke formatting the system memory; see https://bugs.dolphin-emu.org/issues/13176 . After calling ticket.DeleteTicket(), ticket.m_bytes was 0-length, but calling ticket.IsV1Ticket() still attempted to read from m_bytes.
This was introduced in 2fd9852ca8
, although it didn't actually cause a crash until 929fba08e7
.
2023-02-20 18:33:34 -08:00
JosJuice
2aedd8f568
Merge pull request #11590 from t895/unused-layout-class
...
Android: Remove SettingsFrameLayout
2023-02-20 23:33:07 +01:00
JosJuice
0fb9105700
Merge pull request #11408 from t895/coil
...
Android: Rewrite image loading with Kotlin and Coil
2023-02-20 20:51:36 +01:00
Charles Lombardo
0638e08989
Android: Remove SettingsFrameLayout
2023-02-20 14:11:08 -05:00
Mai
6f21ce7d95
Merge pull request #11555 from CookiePLMonster/wil-todos
...
Address WIL todos in UICommon.cpp
2023-02-20 10:14:49 -05:00
Charles Lombardo
28faca63a6
Android: Replace Glide with Coil image loading
2023-02-20 00:38:24 -05:00
Admiral H. Curtiss
4e6c89fbfd
Qt/CodeViewWidget: Don't read PC in Update() if we don't have a CPU thread guard.
2023-02-20 03:10:12 +01:00
Admiral H. Curtiss
ef1520c2c6
Qt/CodeViewWidget: Don't try to pause emulator in Update() if we happen to be on a breakpoint.
2023-02-20 02:56:04 +01:00
Seeky
4e6e510003
Debugger: Add string comparison to conditional breakpoints.
2023-02-20 01:40:33 +01:00
JosJuice
f2be35c7cd
VideoCommon: Reword the unknown opcode error message
...
When faced with this error, users often don't try disabling dual core,
even though the error message suggests it. Perhaps the message is just
too long and lists too many things?
To try to improve the situation, I'm rewording the message and making it
say different things depending on what settings you are using.
2023-02-19 16:35:28 +01:00
JosJuice
78c53bfec8
Jit64: Fix the offsetAddedToAddress correction
...
The LEA that the signal handler is trying to undo the effects of is a
32-bit instruction, and the value in the register prior to the LEA is
also 32-bit, so the signal handler should use a 32-bit write.
(Actually, in the end this doesn't really matter, because the first
instruction that reads this value after backpatching is also a 32-bit
instruction...)
2023-02-18 21:14:31 +01:00
JosJuice
e65167f9cd
Merge pull request #11521 from t895/adjust-grid-options
...
Android: Simplify the grid options dialog fragment
2023-02-18 15:42:46 +01:00
Admiral H. Curtiss
8db35e6d04
Merge pull request #11578 from Pokechu22/memory-leaks-feb-2023
...
Fix various memory leaks
2023-02-18 13:56:34 +01:00
Pokechu22
c94aacc968
AudioPane: Fix inconsistent initial state of audio stretching labels
...
This resulted in the labels being solid black even when audio stretching is disabled the first time the settings are opened, but then properly being greyed out after changing a setting (even the audio backend or DSP emulation engine, not just whether audio stretching is enabled).
2023-02-17 18:51:41 -08:00
Pokechu22
f1f3fd5d9d
InputCommon: Fix memory leak in ExpressionParser
...
We allocate in MakeSuppressor via `return unique_ptr(std::make_unique<...>(...).release(), InvokingDeleter{}`, so it wasn't properly getting freed.
2023-02-17 18:29:36 -08:00
Pokechu22
b6d476241a
CodeViewWidget: Fix memory leak
...
Per https://doc.qt.io/qt-6/qabstractitemview.html#setItemDelegateForColumn setItemDelegateForColumn does not take ownership of the parameter, so it was not being deleted. Specifying a parent to QObject (via QStyledItemDelegate's constructor) will allow it to automatically be deleted, per https://doc.qt.io/qt-6/objecttrees.html . The other instance of a QItemDelegate in IOWindow.cpp already used this.
2023-02-17 18:29:32 -08:00
Pokechu22
1c5e223532
MemoryViewWidget: Fix memory leaks
...
bp_item/row_item/item were never deleted, and the normal Qt ownership system wasn't applying to them because they were being cloned.
2023-02-17 18:17:01 -08:00
Admiral H. Curtiss
74abf48234
Merge pull request #11576 from yannhodiesne/convert-prevent-file-deletion
...
Check the input and destination paths before converting a game file onto itself
2023-02-17 18:49:15 +01:00
Markus Wick
b381df700c
Merge pull request #11577 from JosJuice/android-armeabi-v7a
...
Android: Fix armeabi-v7a build
2023-02-17 17:57:38 +01:00
JosJuice
90b676d368
Android: Fix armeabi-v7a build
...
This very much isn't a build configuration that we're going to ship,
but I want to be able to tell people that they can build it on their
own if they really want to see how terribly it performs :)
Just like before, you'll need to edit two lines in app/build.gradle to
define ENABLE_GENERIC=ON and actually enable armeabi-v7a if you want an
armeabi-v7a build. This commit just fixes some compilations errors that
crop up if you do so.
2023-02-17 16:58:24 +01:00
Yann Hodiesne
49e897422f
Use a success count instead of files count
2023-02-17 15:49:31 +01:00
Yann Hodiesne
cb42a03299
Check the input and destination paths before converting a game file onto itself
...
Before these changes you could tell Dolphin to convert a game file into the same format it is already in, leading to the FileDialog using the input path as the default destination path
An unsuspecting user could then click Save and Dolphin would try to convert the input file by writing the destination file on top of it... leading to an I/O error and the input file being entirely removed
2023-02-17 14:26:50 +01:00
Scott Mansell
28331c5905
Merge pull request #11574 from K0bin/val-fix
...
VideoBackends:Vulkan: Fix printing validation errors
2023-02-17 14:52:45 +13:00
Admiral H. Curtiss
0c48324c75
Jit64: Use 5 byte jump in mtmsr for the CP interrupt check.
...
WriteExternalExceptionExit() can write more than the maximum offset of the small jump.
2023-02-16 19:26:19 +01:00
Robin Kertels
2695666e6d
VideoBackends:Vulkan: Fix printing validation errors
2023-02-16 17:53:15 +01:00
Scott Mansell
6038a6e2db
Merge pull request #11569 from Hibyehello/patch-1
...
VideoBackend: Make Metal Default on MacOS
2023-02-16 21:08:35 +13:00
Pokechu22
74a14c7d1f
ControllerInterface: Fix uninitialized variables in DualShockUDPClient
...
Strangely, this case did not trigger a C26495 warning in Visual Studio's analyzer; instead, I spotted this when using Valgrind.
2023-02-15 19:23:47 -08:00
Pokechu22
67381cdb8b
VideoCommon: Remove unused ShutdownImGui function declaration
...
This was moved to the ~OnScreenUI() destructor in 0d4537d60f
.
2023-02-15 19:20:59 -08:00
Pokechu22
8802f96b7e
Fix uninitialized variable warnings (C26495)
2023-02-15 19:18:39 -08:00
Charles Lombardo
8d16aed581
Android: Convert UserDataActivity to Kotlin
2023-02-15 18:50:33 -05:00
Josh
cd38ed76e2
Keep Vulkan precedence over OpenGL
2023-02-15 12:22:56 -06:00
Josh
546a016dc8
VideoBackend: Make Metal Default on MacOS
2023-02-15 12:05:54 -06:00
SMarioMan
301e97f7f7
Remove WinAPI-specific type from socket request
2023-02-15 09:29:21 -05:00
SMarioMan
a45f6d9438
Enable broadcast permissions in socket requests
2023-02-15 07:59:38 -05:00
Admiral H. Curtiss
c36994a90d
Add unit test for File::CreateFullPath().
2023-02-15 02:56:10 +01:00
Admiral H. Curtiss
0758e00cfe
Common/FileUtil: Revert behavior of CreateFullPath().
...
This was accidentally changed in 7e6436db34
.
2023-02-15 02:21:50 +01:00
Admiral H. Curtiss
661b74f4a3
Merge pull request #11564 from JosJuice/jitarm64-cmp-order
...
JitArm64: Fix special cases of cmp
2023-02-14 20:19:07 +01:00
Admiral H. Curtiss
e1d3237dbd
Merge pull request #11342 from TellowKrinkle/GLLayerMac
...
VideoCommon: Fix stereoscopic 3D on OpenGL < 4.3 (macOS)
2023-02-14 20:17:22 +01:00
JosJuice
0049a76775
JitArm64: Fix special cases of cmp
...
This fixes a regression from 592ba31
. When `a` was a constant 0 and `b`
was a non-constant 0x80000000, the 32-bit negation operation would
overflow, causing an incorrect result. The sign extension needs to happen
before the negation to avoid overflow.
Note that I can't merge the SXTW and NEG into one instruction.
NEG is an alias for SUB with the first operand being set to ZR,
but "SUB (extended register)" treats register 31 as SP instead of ZR.
I've also changed the order for the case where `a` is a constant
0xFFFFFFFF. I don't think the order actually affects correctness here,
but let's use the same order for all the cases since it makes the code
easier to reason about.
2023-02-14 19:16:00 +01:00
Admiral H. Curtiss
22ed084209
Merge pull request #11563 from JosJuice/host-lock-cpu-fixups
...
Follow-up fixes for "Properly lock CPU before accessing emulated memory"
2023-02-14 19:04:21 +01:00
JosJuice
5b6784432c
Follow-up fixes for "Properly lock CPU before accessing emulated memory"
2023-02-14 18:44:16 +01:00
TellowKrinkle
f25a0b43b6
VideoCommon: Fix stereoscopic 3D on OpenGL < 4.3 (macOS)
2023-02-14 18:25:33 +01:00
Pokechu22
4f6ce51d69
VideoCommon: Clear blend configuration if color/alpha update disabled
...
This works around an Intel driver bug where, on D3D12 only, dual-source blending behaves incorrectly if the second source is unused on. This bug is visible in skyboxes in Super Mario Sunshine, which first draw clouds and sun flare in greyscale and then draw the sky afterwards with a source factor of 1 and a dest factor of 1-src_color (this results in the clouds being tinted blue). This process is done on an RGB888 framebuffer, so alpha update is disabled. (Color update is enabled; note that if you look at this in Dolphin's fifo analyzer, it won't be enabled because they use the BP mask functionality to only change the blending functions and not alpha/color update, for whatever reason.)
2023-02-13 18:22:41 -08:00
Admiral H. Curtiss
5f929d00eb
Merge pull request #11560 from phire/EventHook_construct_on_first_use
...
HookableEvent: Switch to construct on first use
2023-02-14 01:01:03 +01:00
Admiral H. Curtiss
34a459bed7
Merge pull request #11445 from JosJuice/jit64-wraparound-backpatch
...
Jit64: Properly handle backpatching overflowed address calculations
2023-02-14 01:00:13 +01:00
Admiral H. Curtiss
3458c58c7d
Merge pull request #11503 from JosJuice/ppcanalyst-read-cr
...
PPCAnalyst: Actually check if instructions want CR
2023-02-14 00:55:24 +01:00
Admiral H. Curtiss
e2d7b6d079
Merge pull request #11559 from Pokechu22/cache-fix-plru-updates
...
PPCCache: Update PLRU on any cache access
2023-02-14 00:50:54 +01:00
Admiral H. Curtiss
8f91cb62e6
Merge pull request #11426 from shuffle2/stdfs
...
fileutil: use std::filesystem
2023-02-14 00:50:34 +01:00
Admiral H. Curtiss
e1dbea3658
JIT: Fix calls to HLE::Execute.
...
This got broken in 7cecb28bdf
.
2023-02-13 11:47:47 +01:00
Scott Mansell
05181f6b88
HookableEvent: Switch to construct on first use
...
A registration might happen during static initialization, which opens
us up to issues with ordering of static initialization.
2023-02-13 18:48:43 +13:00
Scott Mansell
1fc5d37fd2
Merge pull request #11558 from Pokechu22/vertex-loader-size-assertion-details
...
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-13 17:34:04 +13:00
Pokechu22
cc411c4e41
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-12 20:10:38 -08:00
Pokechu22
14c4f4e7f6
PPCCache: Update PLRU on any cache access
...
The previous code only updated the PLRU on cache misses, which made it so that the least recently inserted cache block was evicted, instead of the least recently used/hit one.
This regressed in 9d39647f9e
(part of #11183 , but it was fine in e97d380437
), although beforehand it was only implemented for the instruction cache, and the instruction cache hit extremely infrequently when the JIT or cached interpreter is in use, which generally keeps it from behaving correctly (the pure interpreter behaves correctly with it).
I'm not aware of any games that are affected by this, though I did not do extensive testing.
2023-02-12 19:59:19 -08:00
Scott Mansell
a4729a026f
Merge pull request #11554 from JosJuice/host-lock-cpu
...
DolphinQt: Properly lock CPU before accessing emulated memory
2023-02-13 16:08:36 +13:00
Scott Mansell
f37113204f
Merge pull request #11550 from iwubcode/set_common_samplers_count
...
VideoCommon: add constant value for maximum number of pixel samplers
2023-02-13 16:05:51 +13:00
Scott Mansell
2c24d07837
Merge pull request #11538 from t895/disc-speed-stuff
...
Rename "Speed up Disc Transfer Rate" to "Emulate Disc Speed"
2023-02-13 15:46:56 +13:00
Charles Lombardo
0ed64b080f
Rename Fast Disc Speed to Emulate Disc Speed and invert option
2023-02-12 16:20:38 -05:00
Charles Lombardo
d0941342d2
Android: Expose Emulate Disc Speed
2023-02-12 16:20:38 -05:00
Admiral H. Curtiss
300d63b492
DiscIO/FileBlob: Make m_size unsigned.
2023-02-12 20:51:08 +01:00
JosJuice
611e721a4d
Jit64: Properly handle backpatching overflowed address calculations
...
Previously we would only backpatch overflowed address calculations
if the overflow was 0x1000 or less. Now we can handle the full 2 GiB
of overflow in both directions.
I'm also making equivalent changes to JitArm64's code. This isn't because
it needs it – JitArm64 address calculations should never overflow – but
because I wanted to get rid of the 0x100001000 inherited from Jit64 that
makes even less sense for JitArm64 than for Jit64.
2023-02-12 20:48:27 +01:00
Admiral H. Curtiss
c3dee1f11c
Merge pull request #11499 from iwubcode/graphics-mod-pass-base-path
...
VideoCommon: allow graphics mods to have access to the file path where the config exists to load additional files
2023-02-12 19:04:59 +01:00
Silent
9f3d3e2b9c
Address WIL todos in UICommon.cpp
2023-02-12 15:05:54 +01:00
JosJuice
6f0266e8de
DolphinQt: Only update call stack if paused
...
This avoids a pseudo infinite loop where CodeWidget::UpdateCallstack
would lock the CPU in order to read the call stack, causing the CPU to
call Host_UpdateDisasmDialog because it's transitioning from running to
pausing, causing Host::UpdateDisasmDialog to be emitted, causing
CodeWidget::Update to be called, once again causing
CodeWidget::UpdateCallstack to be called, repeating the cycle.
Dolphin didn't go completely unresponsive during this, because
Host_UpdateDisasmDialog schedules the emitting of Host::UpdateDisasmDialog
to happen on another thread without blocking, but it was stopping certain
operations like exiting emulation from working.
2023-02-12 12:50:28 +01:00
JosJuice
7cecb28bdf
DolphinQt: Properly lock CPU before accessing emulated memory
...
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.
To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
2023-02-12 11:27:50 +01:00
MayImilae
508c79a66f
Rename VI Skip to VBI Skip
...
VI Skip was very hard to explain on the blog, so this small changes
clarifies what VI Skip is to resolve that issue.
2023-02-11 20:28:41 -08:00
iwubcode
20dc4401c5
VideoCommon: pass a graphics mod base path to the graphics mod, so it can lookup other relative files if necessary
2023-02-11 00:21:40 -06:00
Admiral H. Curtiss
2f6e7d497d
ENetUtil: Add check for valid socket in SendPacket().
2023-02-10 19:32:40 +01:00
Admiral H. Curtiss
9b5c52ad8d
Merge pull request #11541 from Pokechu22/dsptool-no-redefine-label
...
DSPTool: Fix missing error when redefining labels
2023-02-10 11:02:36 +01:00
Admiral H. Curtiss
3c2933cad2
Merge pull request #11549 from Pokechu22/texturecachebase-bitset-include
...
TextureCacheBase: Remove unused bitset include
2023-02-10 10:55:07 +01:00
JMC47
258151fe5a
Merge pull request #11523 from degasus/OGL_KHR_subgroup
...
VideoBackend/OGL: Prefer KHR_shader_subgroup over NV_shader_thread.
2023-02-10 04:47:20 -05:00
iwubcode
af313f8419
VideoCommon: add constant value to set the allowed maximum number of pixel samplers
2023-02-10 00:46:11 -06:00
Pokechu22
3024ca2146
Suppress memcpy writing to an object with no trivial copy-assignment warnings
...
We need to copy padding in most of these cases, and the objects are trivially copyable; however, BitField prevents trivial copy-assignment.
2023-02-09 16:23:49 -08:00
Pokechu22
ac7a17579e
BreakPoints: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
3bd655463d
MemoryViewWidget: Fix warning: enumeration value ‘Null’ not handled in switch [-Wswitch]
2023-02-09 16:23:02 -08:00
Pokechu22
5c8d8383e2
CodeWidget: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
470115fd4f
TextureDecoder: Fix warning: array subscript has type ‘char’ [-Wchar-subscripts]
2023-02-09 16:23:02 -08:00
Pokechu22
debed35c10
State: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
9559c45cae
CommandProcessor: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
f1b1f5c013
IOS: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
8d71f542cb
Boot: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
39c5d55f03
VertexLoaderBase: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
95bee485c9
GraphicsModManager: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
7fafb00561
InputCommon/XInput2: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
edcc4a6578
AudioInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:02 -08:00
Pokechu22
8ad7d58303
DSP: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:02 -08:00
Pokechu22
24df509447
DVDInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:02 -08:00
Pokechu22
9c52c600c4
EXI_DeviceEthernet: Fix warning: operation on ‘current_rwp’ may be undefined [-Wsequence-point]
2023-02-09 16:23:01 -08:00
Pokechu22
1465620721
GCMemcardDirectory: Fix variable shadowing warning
2023-02-09 16:23:01 -08:00
Pokechu22
c555a4f0c6
SerialInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:01 -08:00
Pokechu22
72b4675c8f
VideoInterface: Fix warning: declaration of ‘state’ shadows a previous local
2023-02-09 16:23:01 -08:00
Pokechu22
49a84cbc4c
Resolve various "no previous declaration" warnings
2023-02-09 16:23:01 -08:00
Pokechu22
2288ba28ae
Software/Tev: Fix member shadowing warnings
2023-02-09 16:23:01 -08:00
Pokechu22
8b98dd9be3
Move s_using_custom_client to DiscordPresence.cpp
...
Otherwise, files that include the header get warning: ‘Discord::s_using_custom_client’ defined but not used.
2023-02-09 16:23:01 -08:00
Pokechu22
b316ce6fdd
Fix warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20
2023-02-09 16:23:01 -08:00
Pokechu22
af5013b60f
Suppress -Winvalid-offsetof for PowerPC::PowerPCState
...
This code doesn't need to be portable (since the goal is to have a smaller offset for x64 codegen), so if it's not supported there are other problems. Similar code exists in e.g. DSP.cpp.
2023-02-09 16:23:01 -08:00
Pokechu22
5283a85205
TextureCacheBase: Remove unused bitset include
...
It was used for valid_bind_points, which was removed in 88bd10cd30
(and the declaration was more recently removed in 606c18210d
).
2023-02-09 16:04:48 -08:00
JMC47
a88e5ef390
Merge pull request #11498 from iwubcode/save_pipeline_config
...
VideoCommon: store the configuration used to create the AbstractPipeline
2023-02-09 18:38:49 -05:00
Markus Wick
a38e365931
Merge pull request #11547 from JosJuice/fix-gles
...
OGL: Fix GLES crashing on initialization
2023-02-09 18:16:48 +01:00
JosJuice
6dfd582de6
OGL: Fix GLES crashing on initialization
...
Fixes a regression from PR 11522 ("Kill Renderer").
2023-02-09 18:09:03 +01:00
Markus Wick
17d7b75a9b
Merge pull request #11544 from jmallach/spng
...
Allow building against system libspng
2023-02-09 14:47:58 +01:00
degasus
4b2aa948e6
VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread.
...
While the NV extension is totally fine, the KHR extension should be able to support more hardware.
For NVIDIA, the hardware either supports both or neither, it just needs a driver from the last two years.
For AMD, the drivers from late 2022-12 seems to bring support for the KHR extension.
For Intel, the KHR is also supported for some years.
2023-02-09 13:27:02 +01:00
iwubcode
d0c6b6c9ed
VideoCommon: store the configuration used to create the AbstractPipeline on the pipeline itself, so that it's easy to duplicate pipelines with slightly altered configuration
2023-02-09 02:13:53 -06:00
Scott Mansell
aaad0cd39f
Merge pull request #11539 from phire/improve_workqueuethread
...
Various WorkQueueThread improvements
2023-02-09 20:00:04 +13:00
Scott Mansell
ccf92a3e56
Merge pull request #11522 from phire/KillRendererWithFire
...
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
Scott Mansell
5c1b3ac61d
Hook up Presenter's ConfigChanged function
...
Fixes issue with post-processing not working
2023-02-09 18:36:20 +13:00
Scott Mansell
9c1fe59cc9
Insert a more solid abstraction between Qt and Imgui
2023-02-09 18:36:20 +13:00
Scott Mansell
b2a31103b4
Presenter: Handle blanked frames correctly
2023-02-09 18:36:20 +13:00
Scott Mansell
83b7b01265
Fix XFB duplicate detection
...
Frame duplicate detection was inverted. Huge problem for 60fps games
where it would see all frames as "duplicates" and nothing would ever be
presented.
2023-02-09 18:36:20 +13:00
Scott Mansell
d3ddd96cee
Make sure m_prev_efb_format is initilized
2023-02-09 18:36:20 +13:00
Scott Mansell
59a4b026f6
Better documentation for HookableEvent.
2023-02-09 18:36:20 +13:00
Scott Mansell
8c8bd0e7ac
Rename to HookableEvent. Because naming conflict
2023-02-09 18:36:20 +13:00
Scott Mansell
60f2b5af7b
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com>
Co-authored-by: BhaaL <bhaalsen@gmail.com>
Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
e0a1631659
Add comment about "end of frame"
2023-02-09 18:36:20 +13:00
Scott Mansell
43b6a49012
Apply suggestions from code review
...
Co-authored-by: Mai <mathew1800@gmail.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
05fad53fa0
Update STATE_VERSION
...
Co-authored-by: BhaaL <bhaalsen@gmail.com>
2023-02-09 18:36:20 +13:00
Scott Mansell
e2de281897
Make sure pixel shaders pick up Initial EFB Scale
2023-02-09 18:36:20 +13:00
Scott Mansell
cf9a6f8477
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
f7ad825736
fix fbdev
2023-02-09 18:36:20 +13:00
Scott Mansell
628af9d564
Fix builds with FFMPEG disabled
2023-02-09 18:36:20 +13:00
Scott Mansell
4422af1272
Cleanup headers
2023-02-09 18:36:20 +13:00
Scott Mansell
5803786beb
Move UseVertexDepthRange() out of Renderer
...
There wasn't really a good place for it, but this will do
2023-02-09 18:36:20 +13:00
Scott Mansell
2cfc02a116
Move m_prev_efb_format into FramebufferManager
2023-02-09 18:36:20 +13:00
Scott Mansell
9b5397abdb
Move WidescreenHeuristic to it's own class
...
It's about the only thing left in renderer
2023-02-09 18:36:20 +13:00
Scott Mansell
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
11de923dcb
Move xfb tracking and IR scaling out of RenderBase
2023-02-09 18:36:20 +13:00
Scott Mansell
e009002411
Refactor ClearRegion
...
And fix bug where opengl was getting the wrong coordinates
2023-02-09 18:36:20 +13:00
Charles Lombardo
e6583f8bec
Android: Convert image loading code to Kotlin
2023-02-08 19:34:27 -05:00
Jordi Mallach
4d164fcb77
Allow building against system libspng
2023-02-06 13:30:46 +01:00
Joshua de Reeper
e0b3dd0dcf
Remove Imaginators Skylanders from list
...
Add Vicarious Visions variant
2023-02-06 15:16:06 +13:00
Admiral H. Curtiss
ca0b61be91
Merge pull request #11459 from OatmealDome/steam-user-dir
...
CommonPaths: Add Steam-specific user directory and clean up
2023-02-05 23:52:41 +01:00
Scott Mansell
2ff155f742
Optimise cond_var predicate order
...
m_items.empty() is by far the most likely reason for a notification.
2023-02-05 17:20:00 +13:00
Scott Mansell
271ffde71d
Prevent WaitForCompletion shutdown deadlock.
...
Adjust shutdown order to prevent potential deadlocks
when one thread calls Shutdown, and another calls WaitForCompletion.
2023-02-05 17:17:16 +13:00
Scott Mansell
9c012b09b3
Address review feedback
2023-02-05 16:52:53 +13:00
Pokechu22
a244cb868b
DSPTool: Fix missing error when redefining labels
...
The logging was broken in 958cbf38a4
(DSPTool doesn't use dolphin's logging system, so it just produced nothing; the same thing affected comparing before 693a29f8ce
).
AssemblerError::LabelAlreadyExists (previously ERR_LABEL_EXISTS) simply was never used.
2023-02-04 17:31:06 -08:00
Scott Mansell
7c4fcc30a3
WorkQueueThread: provide name and function at same time
2023-02-04 15:56:27 +13:00
Scott Mansell
6594532f10
WorkQueueThread: rework Cancel/Shutdown workflow
...
- Cancel doesn't shut down anymore.
Allowing it to be used multiple times thoughout the life of
the WorkQueue
- Remove Clear, so we only have Cancel semantics
- Add IsCancelling so work items can abort early if cancelling
- Replace m_cancelled and m_thread.joinable() guars with m_shutdown.
- Rename Flush to WaitForCompletion (As it's ambiguous if a function
called flush should be blocking or not)
- Add documentation
2023-02-04 14:58:12 +13:00
Scott Mansell
acdb0c5be1
WorkQueueThread: Implement thread name
...
Otherwise we will end up with a dozen threads named "WorkQueueThread"
2023-02-04 14:58:12 +13:00
Robin Kertels
94a0c50bf8
WorkQueueThread: Rework without Flags/Events
2023-02-04 14:31:16 +13:00
Robin Kertels
9affbfe683
WorkQueueThread: Implement proper Flush
...
and rename the existing Flush to FlushOne.
2023-02-04 14:31:16 +13:00
Robin Kertels
9badcc6eb8
WorkQueueThread: Add Push
2023-02-04 14:31:16 +13:00
Scott Mansell
512273a507
WorkQueueThread: Add flush capability
2023-02-04 14:31:16 +13:00
Sam Belliveau
4a97dc7c81
Let VI Skip work if variance > fallback
2023-02-02 20:59:17 -05:00
Sam Belliveau
87d5d39dfe
Set VI Skip Activation to Half The Audio Buffer
2023-02-02 20:55:13 -05:00
Joshua de Reeper
680db55239
Android: Add Skylanders Portal
...
Co-Authored-By: Charles Lombardo <clombardo169@gmail.com>
2023-02-02 21:16:14 +13:00
Pierre Bourdon
c92de420ef
lint: update to clang-format-13
2023-02-02 04:56:08 +01:00
Admiral H. Curtiss
69b178e95f
Merge pull request #11157 from h3xx/use-gnuinstalldirs
...
Use GNUInstallDirs for installation paths
2023-02-01 19:35:46 +01:00
Admiral H. Curtiss
e55a0f4fff
Merge pull request #11495 from OatmealDome/android-cmake
...
Android: Don't enforce a particular CMake version
2023-02-01 19:35:09 +01:00
Charles Lombardo
2ec7577788
Android: Fix settings being editable when marked otherwise
2023-02-01 00:51:48 -05:00
OatmealDome
234de8af09
UICommon: Don't check the registry key or use the old user directory path on Windows builds for Steam
2023-01-31 17:57:09 -05:00
OatmealDome
7240290382
CommonPaths: Add Steam-specific user directory
2023-01-31 17:57:09 -05:00
OatmealDome
59a44bea50
CommonPaths: Split platform-specific definitions for user directories into two blocks
2023-01-31 17:57:09 -05:00
OatmealDome
af33d4f13f
CommonPaths: Split PORTABLE_USER_DIR into "portable" and "embedded" to accomodate macOS
2023-01-31 17:57:09 -05:00
OatmealDome
7f962a4146
UICommon: Use NORMAL_USER_DIR for Windows
2023-01-31 17:57:09 -05:00
OatmealDome
5e3d77adae
CommonPaths: Rename DOLPHIN_DATA_DIR to NORMAL_USER_DIR
2023-01-31 17:57:08 -05:00
OatmealDome
846eef2a05
CommonPaths: Rename USERDATA_DIR to PORTABLE_USER_DIR
2023-01-31 17:57:08 -05:00
Pierre Bourdon
2a2ee5d543
Merge pull request #11434 from momocaoo/graphics-mod-folder-button
...
DolphinQt: Add button to open graphics mod folder on settings
2023-01-31 14:35:21 +01:00
Scott Mansell
e98ab0784d
Merge pull request #11501 from iwubcode/abstract_texture_load_specify_layer
...
VideoBackends: add a way to load data into a specific level AND layer
2023-02-01 00:03:59 +13:00
Scott Mansell
c6b851c2b6
Merge pull request #11506 from phire/cmake_fixes
...
CMake/MSVC fixes
2023-01-31 23:53:31 +13:00
Scott Mansell
12431a83ba
Merge pull request #11435 from techydude0713/wc24-utc-fix
...
NetKDTime: Use UTC based timestamp instead of localtime.
2023-01-31 23:40:15 +13:00
Scott Mansell
6bb2e4d706
CMake/MSVC: Fix warnings about conflicting /Zi and /Z7
2023-01-31 23:21:07 +13:00
Scott Mansell
854a73dee0
CMake/MSVC: Fix PCH disabled build
2023-01-31 23:21:07 +13:00
Scott Mansell
1956ce151f
Cmake/MSVC: Fix Qt6 discover for IDEs other than Visual Studio
...
CMakeSettings.json is a Visual Studio only extention to cmake that isn't
supported anywhere else. Not even Visual Studio Code.
So we set CMAKE_PREFIX_PATH inside DolphinQt's CMakeLists.txt instead.
2023-01-31 23:19:46 +13:00
OatmealDome
0f037a1af8
Merge pull request #10864 from TellowKrinkle/BetterLogicBlend
...
VideoCommon: Better logic op invert approximation
2023-01-31 01:55:55 -05:00
Scott Mansell
b753641dd4
Add some descriptions to new classes
2023-01-31 19:41:24 +13:00
Scott Mansell
abfc75f362
Cleanup headers
2023-01-31 19:41:24 +13:00
Scott Mansell
ec8f46b02c
Expose Renderer's Framecount
...
We don't want to move it, because we want to complete
this refactor without changing savestate version
2023-01-31 19:41:24 +13:00
Scott Mansell
3be63221c7
Renderer still needs to track swaps for savestates
2023-01-31 19:41:24 +13:00
Scott Mansell
3ae78b8e76
Also use events for config changed
2023-01-31 19:41:24 +13:00
Scott Mansell
0da69055d9
Split out everying remaining from Swap
2023-01-31 19:41:24 +13:00
Scott Mansell
2a18b34a73
Wire up frame before/after events
2023-01-31 19:41:24 +13:00
Scott Mansell
154cb4f722
Introduce an Event system to VideoCommon
...
A lot of the remaining complexity in Renderer is the massive Swap function
which tries to handle a bunch of FrameBegin/FrameEnd events.
Rather than create a new place for it. This event system will try
to distribute it all over the place
2023-01-31 19:41:24 +13:00
Scott Mansell
d6cd8de1a7
Delete unused EFBHasAlphaChannel function
2023-01-31 19:41:24 +13:00
Scott Mansell
9d125a6e43
Move ConfigChanged out of RenderBase
...
There is this nice VideoConfig file that's perfect for it
2023-01-31 19:41:24 +13:00
Scott Mansell
ca5ec13e13
Move GraphicsMod out of RenderBase
2023-01-31 19:41:24 +13:00
Scott Mansell
55d15bdd6e
Move utiltily drawing out of RenderBase
2023-01-31 19:41:24 +13:00
Scott Mansell
99d3e489ea
Move BoundingBox out of RenderBase
...
They were essentially just pass-though methods
2023-01-31 19:41:24 +13:00
Scott Mansell
35a69cb1bb
Fix missing include
2023-01-31 19:41:24 +13:00
Scott Mansell
8ad59f8ccf
Add AbstractGfx for DX12
2023-01-31 19:41:24 +13:00
Scott Mansell
5a2d119bda
Implement AbstractGfx for Dx11
2023-01-31 19:41:24 +13:00
Scott Mansell
8bc8e43dd6
Add virtual Initialize() to PerfQueryBase
...
Both DX12 and Vulkan already had one.
2023-01-31 19:41:24 +13:00
Scott Mansell
3c73707dfe
Fix dead code.
2023-01-31 19:41:24 +13:00
Scott Mansell
eaae5b4a45
Implement AbstactGfx for Metal
2023-01-31 19:41:24 +13:00
Scott Mansell
89d9ec0a84
Fix warning
2023-01-31 19:41:24 +13:00
Scott Mansell
b007b8e104
Replace BeginUI/EndUI
2023-01-31 19:41:24 +13:00
Scott Mansell
18c799f0b6
Present: Set surface info before initializing ImGui
...
Otherwise you get subtle bugs in vulkan that take hours to track down.
2023-01-31 19:41:24 +13:00
Scott Mansell
06ae08ca8b
Fix misnamed local variable
2023-01-31 19:41:24 +13:00